mirror of
https://github.com/ch11ng/exwm.git
synced 2024-11-30 14:38:00 +01:00
Prevent jumping back to previous workspace
* exwm-workspace.el (exwm-workspace-switch): Focus out old frame before switching to the new one to prevent jumping back to previous workspace.
This commit is contained in:
parent
21a7341972
commit
c7c42582b7
1 changed files with 5 additions and 5 deletions
|
@ -587,6 +587,11 @@ for internal use only."
|
||||||
(when (or force (not (eq frame exwm-workspace--current)))
|
(when (or force (not (eq frame exwm-workspace--current)))
|
||||||
(unless (window-live-p window)
|
(unless (window-live-p window)
|
||||||
(setq window (frame-selected-window frame)))
|
(setq window (frame-selected-window frame)))
|
||||||
|
(when (and (not (eq frame old-frame))
|
||||||
|
(frame-live-p old-frame))
|
||||||
|
(with-selected-frame old-frame
|
||||||
|
(funcall exwm-workspace--original-handle-focus-out
|
||||||
|
(list 'focus-out frame))))
|
||||||
;; Raise this frame.
|
;; Raise this frame.
|
||||||
(xcb:+request exwm--connection
|
(xcb:+request exwm--connection
|
||||||
(make-instance 'xcb:ConfigureWindow
|
(make-instance 'xcb:ConfigureWindow
|
||||||
|
@ -680,11 +685,6 @@ 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 (and (not (eq frame old-frame))
|
|
||||||
(frame-live-p old-frame))
|
|
||||||
(with-selected-frame old-frame
|
|
||||||
(funcall exwm-workspace--original-handle-focus-out
|
|
||||||
(list 'focus-out frame))))
|
|
||||||
(funcall exwm-workspace--original-handle-focus-in (list 'focus-in frame))
|
(funcall exwm-workspace--original-handle-focus-in (list 'focus-in frame))
|
||||||
(run-hooks 'exwm-workspace-switch-hook)))
|
(run-hooks 'exwm-workspace-switch-hook)))
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue