branch: externals/exwm
commit 0037cba87b1ceefc3a65fa3c458aa685689e7e27
Author: Chris Feng <[email protected]>
Commit: Chris Feng <[email protected]>
Avoid hiding full screen X windows unexpectedly
* exwm-layout.el (exwm-layout-set-fullscreen)
(exwm-layout-unset-fullscreen): Set the Emacs window of a full screen
X window dedicated to its buffer such that newly created X windows
won't replace it.
---
exwm-layout.el | 2 ++
1 file changed, 2 insertions(+)
diff --git a/exwm-layout.el b/exwm-layout.el
index 7642598..5b7fe99 100644
--- a/exwm-layout.el
+++ b/exwm-layout.el
@@ -165,6 +165,7 @@
:window exwm--id
:data (vector xcb:Atom:_NET_WM_STATE_FULLSCREEN)))
(xcb:flush exwm--connection)
+ (set-window-dedicated-p (get-buffer-window) t)
(cl-pushnew xcb:Atom:_NET_WM_STATE_FULLSCREEN exwm--ewmh-state)
(exwm-input--release-keyboard exwm--id)))
@@ -193,6 +194,7 @@
(xcb:+request exwm--connection
(make-instance 'xcb:ewmh:set-_NET_WM_STATE :window exwm--id :data []))
(xcb:flush exwm--connection)
+ (set-window-dedicated-p (get-buffer-window) nil)
(when exwm--keyboard-grabbed
(exwm-input--grab-keyboard exwm--id))))