diff options
author | Chris Feng <chris.w.feng@gmail.com> | 2018-03-04T04·23+0800 |
---|---|---|
committer | Chris Feng <chris.w.feng@gmail.com> | 2018-03-04T04·29+0800 |
commit | 46fe764634ff4fa0eff7ea87c3b96209a05c89be (patch) | |
tree | 3cd4e040f3b3b463638a6cdefcf0a1ca3496369e /exwm-workspace.el | |
parent | 277377c718429555f75a88a85f336d80f3716dce (diff) |
Fix fullscreen mode after switching workspace and back
* exwm-layout.el (exwm-layout--show): Always set an X window in fullscreen mode the size in fullscreen. (exwm-layout-unset-fullscreen): Leave the fullscreen mode first. * exwm-layout.el (exwm-layout--fullscreen-p): New function telling whether the current buffer is in fullscreen mode. (exwm-layout-set-fullscreen, exwm-layout-unset-fullscreen) (exwm-layout-toggle-fullscreen): * exwm-manage.el (exwm-manage--manage-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 it.
Diffstat (limited to 'exwm-workspace.el')
-rw-r--r-- | exwm-workspace.el | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/exwm-workspace.el b/exwm-workspace.el index 0651b575d8b4..deb6a653575a 100644 --- a/exwm-workspace.el +++ b/exwm-workspace.el @@ -128,6 +128,7 @@ Please manually run the hook `exwm-workspace-list-change-hook' afterwards.") (defvar exwm-manage--desktop) (declare-function exwm--exit "exwm.el") (declare-function exwm-input--on-buffer-list-update "exwm-input.el" ()) +(declare-function exwm-layout--fullscreen-p "exwm-layout.el" ()) (declare-function exwm-layout--hide "exwm-layout.el" (id)) (declare-function exwm-layout--other-buffer-predicate "exwm-layout.el" (buffer)) @@ -504,7 +505,7 @@ for internal use only." ((null current-prefix-arg) (unless (and (eq major-mode 'exwm-mode) ;; The prompt is invisible in fullscreen mode. - (memq xcb:Atom:_NET_WM_STATE_FULLSCREEN exwm--ewmh-state)) + (exwm-layout--fullscreen-p)) (let ((exwm-workspace--prompt-add-allowed t) (exwm-workspace--prompt-delete-allowed t)) (exwm-workspace--prompt-for-workspace "Switch to [+/-]: ")))) @@ -631,7 +632,7 @@ Passing a workspace frame as the first option is for internal use only." (interactive (unless (and (eq major-mode 'exwm-mode) ;; The prompt is invisible in fullscreen mode. - (memq xcb:Atom:_NET_WM_STATE_FULLSCREEN exwm--ewmh-state)) + (exwm-layout--fullscreen-p)) (let (w1 w2) (let ((exwm-workspace--prompt-add-allowed t) (exwm-workspace--prompt-delete-allowed t)) @@ -671,7 +672,7 @@ before it." ((null current-prefix-arg) (unless (and (eq major-mode 'exwm-mode) ;; The prompt is invisible in fullscreen mode. - (memq xcb:Atom:_NET_WM_STATE_FULLSCREEN exwm--ewmh-state)) + (exwm-layout--fullscreen-p)) (list exwm-workspace--current (exwm-workspace--position (exwm-workspace--prompt-for-workspace "Move workspace to: "))))) |