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

Reply via email to