Manage non-floating windows without decorations

* exwm-manage.el (exwm-manage--manage-window): Should manage non-floating
  windows without decorations.
This commit is contained in:
Chris Feng 2015-09-19 17:52:04 +08:00
parent b35430429e
commit 81478de9e6

View file

@ -79,6 +79,8 @@ corresponding buffer.")
(setq exwm--id id) (setq exwm--id id)
(exwm--update-window-type id) (exwm--update-window-type id)
(exwm--update-class id) (exwm--update-class id)
(exwm--update-transient-for id)
(exwm--update-normal-hints id)
(exwm-manage--update-geometry id) (exwm-manage--update-geometry id)
(exwm-manage--update-mwm-hints id) (exwm-manage--update-mwm-hints id)
;; No need to manage (please check OverrideRedirect outside) ;; No need to manage (please check OverrideRedirect outside)
@ -93,7 +95,13 @@ corresponding buffer.")
(and exwm--mwm-hints (and exwm--mwm-hints
(/= 0 (logand (elt exwm--mwm-hints 0) ;MotifWmHints.flags (/= 0 (logand (elt exwm--mwm-hints 0) ;MotifWmHints.flags
2)) ;MWM_HINTS_DECORATIONS 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) (exwm--log "No need to manage #x%x" id)
;; Remove all events ;; Remove all events
(xcb:+request-checked+request-check exwm--connection (xcb:+request-checked+request-check exwm--connection
@ -153,8 +161,6 @@ corresponding buffer.")
:data (vconcat (mapcar #'car exwm--id-buffer-alist)))) :data (vconcat (mapcar #'car exwm--id-buffer-alist))))
(xcb:flush exwm--connection) (xcb:flush exwm--connection)
(exwm--update-title id) (exwm--update-title id)
(exwm--update-transient-for id)
(exwm--update-normal-hints id)
(exwm--update-hints id) (exwm--update-hints id)
(exwm--update-protocols id) (exwm--update-protocols id)
(exwm--update-state id) (exwm--update-state id)