about summary refs log tree commit diff
path: root/exwm-core.el
diff options
context:
space:
mode:
authorChris Feng <chris.w.feng@gmail.com>2018-02-19T14·34+0800
committerChris Feng <chris.w.feng@gmail.com>2018-02-19T14·34+0800
commitb8ce20b4f3eac1228aef58b83a72a87ccdb819d0 (patch)
treed4d412e76032258104255e0cdce84b2b5d540acb /exwm-core.el
parentd22e6740d761bd2c67e928579502a6c2816516a9 (diff)
Support displaying floating X windows on all workspaces
; Setting _NET_WM_DESKTOP to 0xffffffff makes an X windows appearing
; on all desktops (EWMH).  It's tricky to do it for tiling X windows
; so it's not implemented.

* exwm-core.el (exwm--desktop): New buffer-local variable recording
the value of _NET_WM_DESKTOP.
* exwm-layout.el (exwm-layout--hide): Do not hide X windows with this
property set to 0xffffffff.

* exwm.el (exwm--update-desktop): New function for fetching the value
of _NET_WM_DESKTOP and setting `exwm--desktop'.
* exwm-manage.el (exwm-manage--manage-window): Use it.

* exwm-workspace.el (exwm-workspace--set-desktop): Also update
`exwm--desktop'.
Diffstat (limited to 'exwm-core.el')
-rw-r--r--exwm-core.el1
1 files changed, 1 insertions, 0 deletions
diff --git a/exwm-core.el b/exwm-core.el
index 68ec53b03e..71498c9dc8 100644
--- a/exwm-core.el
+++ b/exwm-core.el
@@ -139,6 +139,7 @@ least SECS seconds later."
 (defvar-local exwm--on-KeyPress         ;KeyPress event handler
   #'exwm-input--on-KeyPress-line-mode)
 ;; Properties
+(defvar-local exwm--desktop nil "_NET_WM_DESKTOP.")
 (defvar-local exwm-window-type nil "_NET_WM_WINDOW_TYPE.")
 (defvar-local exwm--geometry nil)
 (defvar-local exwm-class-name nil "Class name in WM_CLASS.")