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