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

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

[elpa] externals/exwm 5210e13 41/64: Only manage windows mapped as the d


From: Chris Feng
Subject: [elpa] externals/exwm 5210e13 41/64: Only manage windows mapped as the direct children of root window (close #38)
Date: Thu, 17 Sep 2015 23:18:05 +0000

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

    Only manage windows mapped as the direct children of root window (close #38)
    
    Sometimes Emacs create child windows of virtual roots. This commit ensures 
EXWM
    will not manage them.
---
 exwm-manage.el |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/exwm-manage.el b/exwm-manage.el
index 3274d65..0fde4d4 100644
--- a/exwm-manage.el
+++ b/exwm-manage.el
@@ -278,7 +278,7 @@ corresponding buffer.")
                             value-mask)
         obj
       (exwm--log "ConfigureRequest from #x%x (#x%x) @%dx%d%+d%+d, border: %d"
-                 value-mask window width height x y border-width)
+                 window value-mask width height x y border-width)
       (if (setq buffer (exwm--id->buffer window))
           ;; Send client message for managed windows
           (with-current-buffer buffer
@@ -320,8 +320,13 @@ corresponding buffer.")
   "Handle MapRequest event."
   (let ((obj (make-instance 'xcb:MapRequest)))
     (xcb:unmarshal obj data)
-    (exwm--log "MapRequest from #x%x" (slot-value obj 'window))
-    (exwm-manage--manage-window (slot-value obj 'window))))
+    (with-slots (parent window) obj
+      (if (/= exwm--root parent)
+          (progn (xcb:+request exwm--connection
+                     (make-instance xcb:MapWindow :window window))
+                 (xcb:flush exwm--connection))
+        (exwm--log "MapRequest from #x%x" window)
+        (exwm-manage--manage-window window)))))
 
 (defun exwm-manage--on-UnmapNotify (data synthetic)
   "Handle UnmapNotify event."



reply via email to

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