Check for _NET_WM_STATE_FULLSCREEN on managing
* exwm-core.el (exwm--fullscreen): Removed. (exwm--ewmh-state): New variable for recording the _NET_WM_STATE hint. * exwm-core.el (exwm-mode-menu, exwm-mode-map): * exwm-layout.el (exwm-layout-set-fullscreen) (exwm-layout-unset-fullscreen): * exwm-manage.el (exwm-manage--unmanage-window) (exwm-manage--on-ConfigureRequest): * exwm-workspace.el (exwm-workspace-switch, exwm-workspace-swap) (exwm-workspace-move): * exwm.el (exwm-reset, exwm--on-ClientMessage): Use the new variable. * exwm-manage.el (exwm-manage--update-ewmh-state): New function for updating _NET_WM_STATE. (exwm-manage--manage-window): Update _NET_WM_STATE and check for _NET_WM_STATE_FULLSCREEN.
This commit is contained in:
parent
e4ecd79210
commit
ebcc9591f3
5 changed files with 49 additions and 18 deletions
|
|
@ -87,7 +87,6 @@
|
|||
(defvar-local exwm--frame nil) ;workspace frame
|
||||
(defvar-local exwm--floating-frame nil) ;floating frame
|
||||
(defvar-local exwm--mode-line-format nil) ;save mode-line-format
|
||||
(defvar-local exwm--fullscreen nil) ;used in fullscreen
|
||||
(defvar-local exwm--floating-frame-position nil) ;used in fullscreen
|
||||
(defvar-local exwm--fixed-size nil) ;fixed size
|
||||
(defvar-local exwm--keyboard-grabbed nil) ;Keyboard grabbed.
|
||||
|
|
@ -103,6 +102,7 @@
|
|||
(defvar-local exwm-transient-for nil "WM_TRANSIENT_FOR.")
|
||||
(defvar-local exwm--protocols nil)
|
||||
(defvar-local exwm-state xcb:icccm:WM_STATE:NormalState "WM_STATE.")
|
||||
(defvar-local exwm--ewmh-state nil "_NET_WM_STATE.")
|
||||
;; _NET_WM_NORMAL_HINTS
|
||||
(defvar-local exwm--normal-hints-x nil)
|
||||
(defvar-local exwm--normal-hints-y nil)
|
||||
|
|
@ -150,8 +150,10 @@
|
|||
"*General*"
|
||||
"---"
|
||||
["Toggle floating" exwm-floating-toggle-floating]
|
||||
["Enter fullscreen" exwm-layout-set-fullscreen (not exwm--fullscreen)]
|
||||
["Leave fullscreen" exwm-reset exwm--fullscreen]
|
||||
["Enter fullscreen" exwm-layout-set-fullscreen
|
||||
(null (memq xcb:Atom:_NET_WM_STATE_FULLSCREEN exwm--ewmh-state))]
|
||||
["Leave fullscreen" exwm-reset
|
||||
(memq xcb:Atom:_NET_WM_STATE_FULLSCREEN exwm--ewmh-state)]
|
||||
["Hide window" exwm-floating-hide exwm--floating-frame]
|
||||
|
||||
"---"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue