diff options
author | Chris Feng <chris.w.feng@gmail.com> | 2015-12-11T04·11+0800 |
---|---|---|
committer | Chris Feng <chris.w.feng@gmail.com> | 2015-12-11T04·11+0800 |
commit | 4d5dd85dcc49c8ee9f0c496b439b420eaaeae5af (patch) | |
tree | f8f2d9b08c73e565a3f2ecdc2e2bbd4bdb3aa021 /exwm-manage.el | |
parent | 3b19dad16269dc18d65919fe7adea12dbedc6550 (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.el | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/exwm-manage.el b/exwm-manage.el index 58908a2ffae5..5b562ed52fbe 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 |