emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/exwm d650159 2/2: Fix wrong stacking order of tiling X


From: Chris Feng
Subject: [elpa] externals/exwm d650159 2/2: Fix wrong stacking order of tiling X windows
Date: Sun, 11 Nov 2018 03:49:59 -0500 (EST)

branch: externals/exwm
commit d650159648e88ec4a67c126834cd24fed6e3fc24
Author: Chris Feng <address@hidden>
Commit: Chris Feng <address@hidden>

    Fix wrong stacking order of tiling X windows
    
    * exwm-manage.el (exwm-manage--on-MapNotify): Avoid restacking tiling
    X windows on the top when force triggering hierarchy change events.
---
 exwm-manage.el | 19 ++++++++++++++-----
 1 file changed, 14 insertions(+), 5 deletions(-)

diff --git a/exwm-manage.el b/exwm-manage.el
index 79c5405..d7b5c36 100644
--- a/exwm-manage.el
+++ b/exwm-manage.el
@@ -674,11 +674,20 @@ border-width: %d; sibling: #x%x; stack-mode: %d"
         (exwm--log "id=#x%x" window)
         ;; With this we ensure that a "window hierarchy change" happens after
         ;; mapping the window, as some servers (XQuartz) do not generate it.
-        (xcb:+request exwm--connection
-            (make-instance 'xcb:ConfigureWindow
-                           :window window
-                           :value-mask xcb:ConfigWindow:StackMode
-                           :stack-mode xcb:StackMode:Above))
+        (with-current-buffer (exwm--id->buffer window)
+          (if exwm--floating-frame
+              (xcb:+request exwm--connection
+                  (make-instance 'xcb:ConfigureWindow
+                                 :window window
+                                 :value-mask xcb:ConfigWindow:StackMode
+                                 :stack-mode xcb:StackMode:Above))
+            (xcb:+request exwm--connection
+                (make-instance 'xcb:ConfigureWindow
+                               :window window
+                               :value-mask (logior xcb:ConfigWindow:Sibling
+                                                   xcb:ConfigWindow:StackMode)
+                               :sibling exwm--guide-window
+                               :stack-mode xcb:StackMode:Above))))
         (xcb:flush exwm--connection)))))
 
 (defun exwm-manage--on-DestroyNotify (data synthetic)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]