about summary refs log tree commit diff
diff options
context:
space:
mode:
authorChris Feng <chris.w.feng@gmail.com>2018-01-14T15·46+0800
committerChris Feng <chris.w.feng@gmail.com>2018-01-14T15·46+0800
commit895633fe61b4934f1328fa3e314a523023d3d1e4 (patch)
tree576068d2a38c41492df0579ccaec92c7cbfcbcf4
parent46c40363063299f354d87cde3439d108eb2010cc (diff)
Raise docks after quitting full screen mode
* exwm-layout.el (exwm-layout-unset-fullscreen): Raise docks lowered
when entering full screen mode.
-rw-r--r--exwm-layout.el8
1 files changed, 8 insertions, 0 deletions
diff --git a/exwm-layout.el b/exwm-layout.el
index b5835cbe2776..5177ef5bcd95 100644
--- a/exwm-layout.el
+++ b/exwm-layout.el
@@ -28,6 +28,7 @@
 (require 'exwm-core)
 
 (defvar exwm-floating-border-width)
+(defvar exwm-workspace--id-struts-alist)
 
 (defun exwm-layout--resize-container (id container x y width height
                                          &optional container-only)
@@ -259,6 +260,13 @@
     (exwm-layout--show exwm--id)
     (xcb:+request exwm--connection
         (make-instance 'xcb:ewmh:set-_NET_WM_STATE :window exwm--id :data []))
+    ;; Raise X windows with struts set again.
+    (dolist (pair exwm-workspace--id-struts-alist)
+      (xcb:+request exwm--connection
+          (make-instance 'xcb:ConfigureWindow
+                         :window (car pair)
+                         :value-mask xcb:ConfigWindow:StackMode
+                         :stack-mode xcb:StackMode:Above)))
     (xcb:flush exwm--connection)
     (setq exwm--ewmh-state
           (delq xcb:Atom:_NET_WM_STATE_FULLSCREEN exwm--ewmh-state))