From 81478de9e6676ebe3c67d4673a7d4e56e7ad2265 Mon Sep 17 00:00:00 2001 From: Chris Feng Date: Sat, 19 Sep 2015 17:52:04 +0800 Subject: [PATCH] Manage non-floating windows without decorations * exwm-manage.el (exwm-manage--manage-window): Should manage non-floating windows without decorations. --- exwm-manage.el | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/exwm-manage.el b/exwm-manage.el index b2eda4b..e7682cd 100644 --- a/exwm-manage.el +++ b/exwm-manage.el @@ -79,6 +79,8 @@ corresponding buffer.") (setq exwm--id id) (exwm--update-window-type id) (exwm--update-class id) + (exwm--update-transient-for id) + (exwm--update-normal-hints id) (exwm-manage--update-geometry id) (exwm-manage--update-mwm-hints id) ;; No need to manage (please check OverrideRedirect outside) @@ -93,7 +95,13 @@ corresponding buffer.") (and exwm--mwm-hints (/= 0 (logand (elt exwm--mwm-hints 0) ;MotifWmHints.flags 2)) ;MWM_HINTS_DECORATIONS - (= 0 (elt exwm--mwm-hints 2)))) ;MotifWmHints.decorations + (= 0 (elt exwm--mwm-hints 2)) ;MotifWmHints.decorations + ;; Floating windows only + (or exwm-transient-for exwm--fixed-size + (memq xcb:Atom:_NET_WM_WINDOW_TYPE_UTILITY + exwm-window-type) + (memq xcb:Atom:_NET_WM_WINDOW_TYPE_DIALOG + exwm-window-type)))) (exwm--log "No need to manage #x%x" id) ;; Remove all events (xcb:+request-checked+request-check exwm--connection @@ -153,8 +161,6 @@ corresponding buffer.") :data (vconcat (mapcar #'car exwm--id-buffer-alist)))) (xcb:flush exwm--connection) (exwm--update-title id) - (exwm--update-transient-for id) - (exwm--update-normal-hints id) (exwm--update-hints id) (exwm--update-protocols id) (exwm--update-state id)