From 4d5dd85dcc49c8ee9f0c496b439b420eaaeae5af Mon Sep 17 00:00:00 2001 From: Chris Feng Date: Fri, 11 Dec 2015 12:11:24 +0800 Subject: [PATCH] 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). --- exwm-manage.el | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/exwm-manage.el b/exwm-manage.el index 58908a2ff..5b562ed52 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