diff options
author | Adrián Medraño Calvo <adrian@medranocalvo.com> | 2018-08-30T12·00+0000 |
---|---|---|
committer | Adrián Medraño Calvo <adrian@medranocalvo.com> | 2018-08-30T12·00+0000 |
commit | 5f6b866cfed7214caabd5f5dd0f952cce93a307c (patch) | |
tree | 9150ba640054fda72bd748b6b31f7fae076c6778 | |
parent | 2b1ed2ce704de5b61391f34251c89e5187c4a593 (diff) |
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.
-rw-r--r-- | exwm-layout.el | 7 | ||||
-rw-r--r-- | exwm-workspace.el | 5 |
2 files changed, 7 insertions, 5 deletions
diff --git a/exwm-layout.el b/exwm-layout.el index 09a34985a7c6..56faadd99209 100644 --- a/exwm-layout.el +++ b/exwm-layout.el @@ -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 diff --git a/exwm-workspace.el b/exwm-workspace.el index bcfffff1d354..4d82ae596302 100644 --- a/exwm-workspace.el +++ b/exwm-workspace.el @@ -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" |