mirror of
https://github.com/emacs-exwm/exwm.git
synced 2024-11-30 16:07:59 +01:00
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).
This commit is contained in:
parent
3b19dad162
commit
4d5dd85dcc
1 changed files with 11 additions and 7 deletions
|
@ -111,13 +111,17 @@ corresponding buffer.")
|
||||||
(xcb:+request exwm--connection
|
(xcb:+request exwm--connection
|
||||||
(make-instance 'xcb:MapWindow :window id))
|
(make-instance 'xcb:MapWindow :window id))
|
||||||
(with-slots (x y width height) exwm--geometry
|
(with-slots (x y width height) exwm--geometry
|
||||||
;; Reparent to virtual root (essential)
|
;; Reparent to virtual root
|
||||||
(xcb:+request exwm--connection
|
(unless (or (memq xcb:Atom:_NET_WM_WINDOW_TYPE_DESKTOP
|
||||||
(make-instance 'xcb:ReparentWindow
|
exwm-window-type)
|
||||||
:window id
|
(memq xcb:Atom:_NET_WM_WINDOW_TYPE_DOCK
|
||||||
:parent (frame-parameter exwm-workspace--current
|
exwm-window-type))
|
||||||
'exwm-window-id)
|
(xcb:+request exwm--connection
|
||||||
:x x :y y))
|
(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
|
;; Center window of type _NET_WM_WINDOW_TYPE_SPLASH
|
||||||
(when (memq xcb:Atom:_NET_WM_WINDOW_TYPE_SPLASH exwm-window-type)
|
(when (memq xcb:Atom:_NET_WM_WINDOW_TYPE_SPLASH exwm-window-type)
|
||||||
(xcb:+request exwm--connection
|
(xcb:+request exwm--connection
|
||||||
|
|
Loading…
Reference in a new issue