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.
This commit is contained in:
Eric Bavier 2015-10-22 17:41:39 -05:00
parent 2442e69e41
commit c595cd47d8
3 changed files with 22 additions and 1 deletions

View 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 \

View File

@ -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 {

View 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)