Refresh layout after activating/deactivating workspaces
* exwm-workspace.el (exwm-workspace--set-active): Refresh layout after activating or deactivating workspaces. * exwm-layout.el (exwm-layout--refresh-workspace): Hide X windows on inactive workspaces.
This commit is contained in:
parent
2b1ed2ce70
commit
5f6b866cfe
2 changed files with 7 additions and 5 deletions
|
@ -320,9 +320,10 @@ selected by `other-buffer'."
|
|||
(exwm-layout--hide exwm--id))
|
||||
(let ((window (car windows)))
|
||||
(if (eq frame exwm--frame)
|
||||
(when (exwm-workspace--active-p frame)
|
||||
;; Show it if `frame' is active.
|
||||
(exwm-layout--show exwm--id window))
|
||||
;; Show it if `frame' is active, hide otherwise.
|
||||
(if (exwm-workspace--active-p frame)
|
||||
(exwm-layout--show exwm--id window)
|
||||
(exwm-layout--hide exwm--id))
|
||||
;; It was last shown in other workspace; move it here.
|
||||
(exwm-workspace-move-window frame exwm--id))
|
||||
;; Vacate any other windows (in any workspace) showing this
|
||||
|
|
|
@ -379,8 +379,9 @@ NIL if FRAME is not a workspace"
|
|||
(set-frame-parameter frame 'exwm-active active)
|
||||
(if active
|
||||
(exwm-workspace--set-fullscreen frame)
|
||||
(exwm--set-geometry (frame-parameter frame 'exwm-container) nil nil 1 1)
|
||||
(xcb:flush exwm--connection)))
|
||||
(exwm--set-geometry (frame-parameter frame 'exwm-container) nil nil 1 1))
|
||||
(exwm-layout--refresh frame)
|
||||
(xcb:flush exwm--connection))
|
||||
|
||||
(defun exwm-workspace--active-p (frame)
|
||||
"Return non-nil if FRAME is active"
|
||||
|
|
Loading…
Reference in a new issue