aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu-system.am1
-rw-r--r--gnu/packages/patches/evilwm-lost-focus-bug.patch18
-rw-r--r--gnu/packages/wm.scm4
3 files changed, 22 insertions, 1 deletions
diff --git a/gnu-system.am b/gnu-system.am
index e62fe18c97..3e976e9fb7 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -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
index 0000000000..af24af8fe9
--- /dev/null
+++ b/gnu/packages/patches/evilwm-lost-focus-bug.patch
@@ -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 {
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index 7f614e18c8..58d7add5e0 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -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)