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:
parent
ff4ae82fd7
commit
0037cba87b
1 changed files with 2 additions and 0 deletions
|
@ -165,6 +165,7 @@
|
||||||
:window exwm--id
|
:window exwm--id
|
||||||
:data (vector xcb:Atom:_NET_WM_STATE_FULLSCREEN)))
|
:data (vector xcb:Atom:_NET_WM_STATE_FULLSCREEN)))
|
||||||
(xcb:flush exwm--connection)
|
(xcb:flush exwm--connection)
|
||||||
|
(set-window-dedicated-p (get-buffer-window) t)
|
||||||
(cl-pushnew xcb:Atom:_NET_WM_STATE_FULLSCREEN exwm--ewmh-state)
|
(cl-pushnew xcb:Atom:_NET_WM_STATE_FULLSCREEN exwm--ewmh-state)
|
||||||
(exwm-input--release-keyboard exwm--id)))
|
(exwm-input--release-keyboard exwm--id)))
|
||||||
|
|
||||||
|
@ -193,6 +194,7 @@
|
||||||
(xcb:+request exwm--connection
|
(xcb:+request exwm--connection
|
||||||
(make-instance 'xcb:ewmh:set-_NET_WM_STATE :window exwm--id :data []))
|
(make-instance 'xcb:ewmh:set-_NET_WM_STATE :window exwm--id :data []))
|
||||||
(xcb:flush exwm--connection)
|
(xcb:flush exwm--connection)
|
||||||
|
(set-window-dedicated-p (get-buffer-window) nil)
|
||||||
(when exwm--keyboard-grabbed
|
(when exwm--keyboard-grabbed
|
||||||
(exwm-input--grab-keyboard exwm--id))))
|
(exwm-input--grab-keyboard exwm--id))))
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue