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.
This commit is contained in:
Chris Feng 2018-05-13 23:57:36 +08:00
parent ff4ae82fd7
commit 0037cba87b

View file

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