about summary refs log tree commit diff
path: root/exwm-manage.el
diff options
context:
space:
mode:
authorChris Feng <chris.w.feng@gmail.com>2015-12-11T04·11+0800
committerChris Feng <chris.w.feng@gmail.com>2015-12-11T04·11+0800
commit4d5dd85dcc49c8ee9f0c496b439b420eaaeae5af (patch)
treef8f2d9b08c73e565a3f2ecdc2e2bbd4bdb3aa021 /exwm-manage.el
parent3b19dad16269dc18d65919fe7adea12dbedc6550 (diff)
Add support for desktop and dock
* exwm-manage.el (exwm-manage--manage-window): Add support for
_NET_WM_WINDOW_TYPE_DESKTOP and _NET_WM_WINDOW_TYPE_DOCK (they are not
reparented).
Diffstat (limited to 'exwm-manage.el')
-rw-r--r--exwm-manage.el18
1 files changed, 11 insertions, 7 deletions
diff --git a/exwm-manage.el b/exwm-manage.el
index 58908a2ffa..5b562ed52f 100644
--- a/exwm-manage.el
+++ b/exwm-manage.el
@@ -111,13 +111,17 @@ corresponding buffer.")
         (xcb:+request exwm--connection
             (make-instance 'xcb:MapWindow :window id))
         (with-slots (x y width height) exwm--geometry
-          ;; Reparent to virtual root (essential)
-          (xcb:+request exwm--connection
-              (make-instance 'xcb:ReparentWindow
-                             :window id
-                             :parent (frame-parameter exwm-workspace--current
-                                                      'exwm-window-id)
-                             :x x :y y))
+          ;; Reparent to virtual root
+          (unless (or (memq xcb:Atom:_NET_WM_WINDOW_TYPE_DESKTOP
+                            exwm-window-type)
+                      (memq xcb:Atom:_NET_WM_WINDOW_TYPE_DOCK
+                            exwm-window-type))
+            (xcb:+request exwm--connection
+                (make-instance 'xcb:ReparentWindow
+                               :window id
+                               :parent (frame-parameter exwm-workspace--current
+                                                        'exwm-window-id)
+                               :x x :y y)))
           ;; Center window of type _NET_WM_WINDOW_TYPE_SPLASH
           (when (memq xcb:Atom:_NET_WM_WINDOW_TYPE_SPLASH exwm-window-type)
             (xcb:+request exwm--connection