~ruther/guix-local

c595cd47d8d60688f8eb56f25baab2854880e43c — Eric Bavier 10 years ago 2442e69
gnu: evilwm: Add patch for lost-focus bug.

* gnu/packages/patches/evilwm-lost-focus-bug.patch: New patch.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/wm.scm (evilwm)[source]: Use it.
3 files changed, 22 insertions(+), 1 deletions(-)

M gnu-system.am
A gnu/packages/patches/evilwm-lost-focus-bug.patch
M gnu/packages/wm.scm
M gnu-system.am => gnu-system.am +1 -0
@@ 438,6 438,7 @@ dist_patch_DATA =						\
  gnu/packages/patches/elfutils-tests-ptrace.patch		\
  gnu/packages/patches/emacs-exec-path.patch			\
  gnu/packages/patches/eudev-rules-directory.patch		\
  gnu/packages/patches/evilwm-lost-focus-bug.patch		\
  gnu/packages/patches/expat-CVE-2015-1283.patch		\
  gnu/packages/patches/fastcap-mulGlobal.patch			\
  gnu/packages/patches/fastcap-mulSetup.patch			\

A gnu/packages/patches/evilwm-lost-focus-bug.patch => gnu/packages/patches/evilwm-lost-focus-bug.patch +18 -0
@@ 0,0 1,18 @@
evilwm may sometimes lose focus after closing a window.  This means that
evilwm stops responding to keyboard shortcuts, and if no other window is open
which the mouse can be moved over to regain focus evilwm becomes unusable and
has to be restarted.

Patch derived from discussion at
https://wiki.archlinux.org/index.php/Evilwm#Lost_focus_bug_fix

--- evilwm-1.1.1/client.c
+++ evilwm-1.1.1/client.c
@@ -172,6 +172,7 @@
 	 *  _NET_WM_STATE) */
 	if (c->remove) {
 		LOG_DEBUG("setting WithdrawnState\n");
+		XSetInputFocus(dpy, PointerRoot, RevertToPointerRoot, CurrentTime);
 		set_wm_state(c, WithdrawnState);
 		ewmh_withdraw_client(c);
 	} else {

M gnu/packages/wm.scm => gnu/packages/wm.scm +3 -1
@@ 22,6 22,7 @@
(define-module (gnu packages wm)
  #:use-module (guix licenses)
  #:use-module (guix packages)
  #:use-module (gnu packages)
  #:use-module (gnu packages linux)
  #:use-module (guix build-system gnu)
  #:use-module (guix build-system haskell)


@@ 268,7 269,8 @@ tiling window manager for X.")
                           version ".tar.gz"))
       (sha256
        (base32
         "0ak0yajzk3v4dg5wmaghv6acf7v02a4iw8qxmq5yw5ard8lrqn3r"))))
         "0ak0yajzk3v4dg5wmaghv6acf7v02a4iw8qxmq5yw5ard8lrqn3r"))
       (patches (map search-patch '("evilwm-lost-focus-bug.patch")))))
    (build-system gnu-build-system)
    (inputs
     `(("libx11" ,libx11)