Restrict the check of _MOTIF_WM_HINTS

* exwm-manage.el (exwm-manage--manage-window): Restrict the check of
  _MOTIF_WM_HINTS to only Java applications (since some other applications
  like Evince would also set it).
This commit is contained in:
Chris Feng 2015-10-10 20:56:55 +08:00
parent 3b518eec23
commit 1aeec4abf4

View file

@ -90,12 +90,15 @@ corresponding buffer.")
(memq xcb:Atom:_NET_WM_WINDOW_TYPE_UTILITY exwm-window-type) (memq xcb:Atom:_NET_WM_WINDOW_TYPE_UTILITY exwm-window-type)
(memq xcb:Atom:_NET_WM_WINDOW_TYPE_DIALOG exwm-window-type) (memq xcb:Atom:_NET_WM_WINDOW_TYPE_DIALOG exwm-window-type)
(memq xcb:Atom:_NET_WM_WINDOW_TYPE_NORMAL exwm-window-type))) (memq xcb:Atom:_NET_WM_WINDOW_TYPE_NORMAL exwm-window-type)))
;; Check _MOTIF_WM_HINTS (mainly for Java applications) ;; Check _MOTIF_WM_HINTS for Java applications
;; See <Xm/MwmUtil.h> for the definitions of these fields ;; See <Xm/MwmUtil.h> for the definitions of these fields
(and exwm--mwm-hints (and exwm--mwm-hints
exwm-instance-name
(/= 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
;; Java applications only
(string-prefix-p "sun-awt-X11-" exwm-instance-name)
;; Floating windows only ;; Floating windows only
(or exwm-transient-for exwm--fixed-size (or exwm-transient-for exwm--fixed-size
(memq xcb:Atom:_NET_WM_WINDOW_TYPE_UTILITY (memq xcb:Atom:_NET_WM_WINDOW_TYPE_UTILITY