summary refs log tree commit diff
path: root/gnu/packages/patches/emacs-exwm-fix-fullscreen-issue.patch
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2018-08-13 20:39:08 +0200
committerRicardo Wurmus <rekado@elephly.net>2018-08-13 20:39:32 +0200
commitb86c019efbc5c4ea35f3cd6d2f52985f40e49e6c (patch)
tree01c8ec8d4172c2834bef1e8859d6ca8b99338470 /gnu/packages/patches/emacs-exwm-fix-fullscreen-issue.patch
parent25bd72678ae4048b0b84ee82bc5f2644367e9715 (diff)
parent7b38f045c04fe69001ff5c2f04486cc51a69ae82 (diff)
downloadguix-b86c019efbc5c4ea35f3cd6d2f52985f40e49e6c.tar.gz
Merge branch 'staging' into core-updates
Diffstat (limited to 'gnu/packages/patches/emacs-exwm-fix-fullscreen-issue.patch')
-rw-r--r--gnu/packages/patches/emacs-exwm-fix-fullscreen-issue.patch27
1 files changed, 27 insertions, 0 deletions
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 <chris.w.feng@gmail.com>
+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