diff options
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/packages/patches/evilwm-lost-focus-bug.patch | 18 | ||||
-rw-r--r-- | gnu/packages/wm.scm | 4 |
2 files changed, 21 insertions, 1 deletions
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) |