gnu: evilwm: Add patch for lost-focus bug.
authorEric Bavier <bavier@member.fsf.org>
Thu, 22 Oct 2015 22:41:39 +0000 (17:41 -0500)
committerEric Bavier <bavier@member.fsf.org>
Thu, 22 Oct 2015 22:47:37 +0000 (17:47 -0500)
* 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.

gnu-system.am
gnu/packages/patches/evilwm-lost-focus-bug.patch [new file with mode: 0644]
gnu/packages/wm.scm

index e62fe18..3e976e9 100644 (file)
@@ -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                  \
diff --git a/gnu/packages/patches/evilwm-lost-focus-bug.patch b/gnu/packages/patches/evilwm-lost-focus-bug.patch
new file mode 100644 (file)
index 0000000..af24af8
--- /dev/null
@@ -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 {
index 7f614e1..58d7add 100644 (file)
@@ -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)