From fa0a6d93d80a378c86d9d918624167026eab033a Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Fri, 3 Aug 2018 18:21:19 +0530 Subject: gnu: emacs-exwm: Fix fullscreen issue. * gnu/packages/patches/emacs-exwm-fix-fullscreen-issue.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/emacs.scm (emacs-exwm)[sources]: Add emacs-exwm-fix-fullscreen-issue.patch to patches. --- gnu/local.mk | 1 + gnu/packages/emacs.scm | 3 ++- .../patches/emacs-exwm-fix-fullscreen-issue.patch | 27 ++++++++++++++++++++++ 3 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/emacs-exwm-fix-fullscreen-issue.patch diff --git a/gnu/local.mk b/gnu/local.mk index d1f9a193bb..ef28cf032c 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -651,6 +651,7 @@ dist_patch_DATA = \ %D%/packages/patches/elogind-glibc-2.27.patch \ %D%/packages/patches/einstein-build.patch \ %D%/packages/patches/emacs-exec-path.patch \ + %D%/packages/patches/emacs-exwm-fix-fullscreen-issue.patch \ %D%/packages/patches/emacs-fix-scheme-indent-function.patch \ %D%/packages/patches/emacs-json-reformat-fix-tests.patch \ %D%/packages/patches/emacs-highlight-stages-add-gexp.patch \ diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 2ac7e010e7..3a8419ee83 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -6290,7 +6290,8 @@ (define-public emacs-exwm version ".tar")) (sha256 (base32 - "11xd2w4h3zdwkdxypvmcz8s7q72cn76lfr9js77jbizyj6b04lr0")))) + "11xd2w4h3zdwkdxypvmcz8s7q72cn76lfr9js77jbizyj6b04lr0")) + (patches (search-patches "emacs-exwm-fix-fullscreen-issue.patch")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-xelb" ,emacs-xelb))) diff --git a/gnu/packages/patches/emacs-exwm-fix-fullscreen-issue.patch b/gnu/packages/patches/emacs-exwm-fix-fullscreen-issue.patch new file mode 100644 index 0000000000..5c9bd36598 --- /dev/null +++ b/gnu/packages/patches/emacs-exwm-fix-fullscreen-issue.patch @@ -0,0 +1,27 @@ +From 13a14579cc1bb772735f895dd5b4b90c6812f3ee Mon Sep 17 00:00:00 2001 +From: Chris Feng +Date: Sun, 29 Jul 2018 00:00:00 +0000 +Subject: [PATCH] Fix issues with destroying full screen X windows + +* exwm-manage.el (exwm-manage--unmanage-window): Set the Emacs window +of an full screen X window as non-dedicated before killing its buffer +so as not to cause other side effects. +--- + exwm-manage.el | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/exwm-manage.el b/exwm-manage.el +index a0a9e05..349157f 100644 +--- a/exwm-manage.el ++++ b/exwm-manage.el +@@ -392,6 +392,10 @@ manager is shutting down." + :window window :parent exwm--root :x 0 :y 0)) + (xcb:+request exwm--connection + (make-instance 'xcb:DestroyWindow :window container)))) ++ (when (exwm-layout--fullscreen-p) ++ (let ((window (get-buffer-window))) ++ (when window ++ (set-window-dedicated-p window nil)))) + (exwm-manage--set-client-list) + (xcb:flush exwm--connection)) + (let ((kill-buffer-func -- cgit v1.2.3