Allow moving/resizing undecorated X windows

* exwm-manage.el (exwm-manage--manage-window): Do not manage
undecorated floating X windows (set in _MOTIF_WM_HINTS).

* exwm-floating.el (exwm-floating--start-moveresize)
(exwm-floating--stop-moveresize, exwm-floating--do-moveresize):
Allow moving/resizing undecorated X windows with _NET_WM_MOVERESIZE
client message.
This commit is contained in:
Chris Feng 2016-03-04 19:11:10 +08:00
parent fe9be0b3ef
commit 8706e490fb
2 changed files with 91 additions and 68 deletions

View file

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