Fix single workspace invisible problem with Xephyr
* exwm-workspace.el (exwm-workspace-switch): On startup EXWM switches to workspace 0 by force so the rest code can not assume the frames before and after a switch different.
This commit is contained in:
parent
449cd9d379
commit
01b0b54c04
1 changed files with 5 additions and 3 deletions
|
@ -553,8 +553,9 @@ for internal use only."
|
||||||
(exwm-workspace--set-active frame t))
|
(exwm-workspace--set-active frame t))
|
||||||
((equal output-old output-new)
|
((equal output-old output-new)
|
||||||
(exwm-workspace--set-active frame t)
|
(exwm-workspace--set-active frame t)
|
||||||
|
(unless (eq frame old-frame)
|
||||||
(exwm-workspace--set-active old-frame nil)
|
(exwm-workspace--set-active old-frame nil)
|
||||||
(setq workspaces-to-hide (list old-frame)))
|
(setq workspaces-to-hide (list old-frame))))
|
||||||
(active-new)
|
(active-new)
|
||||||
(t
|
(t
|
||||||
(dolist (w exwm-workspace--list)
|
(dolist (w exwm-workspace--list)
|
||||||
|
@ -626,7 +627,8 @@ for internal use only."
|
||||||
:dst-x (/ (frame-pixel-width frame) 2)
|
:dst-x (/ (frame-pixel-width frame) 2)
|
||||||
:dst-y (/ (frame-pixel-height frame) 2)))
|
:dst-y (/ (frame-pixel-height frame) 2)))
|
||||||
(xcb:flush exwm--connection))))
|
(xcb:flush exwm--connection))))
|
||||||
(when (frame-live-p old-frame)
|
(when (and (not (eq frame old-frame))
|
||||||
|
(frame-live-p old-frame))
|
||||||
(with-selected-frame old-frame
|
(with-selected-frame old-frame
|
||||||
(run-hooks 'focus-out-hook)))
|
(run-hooks 'focus-out-hook)))
|
||||||
(run-hooks 'focus-in-hook)
|
(run-hooks 'focus-in-hook)
|
||||||
|
|
Loading…
Reference in a new issue