Fix input focus issues revealed by recent commits
* exwm-input.el (exwm-input--update-focus-window) (exwm-input--on-buffer-list-update, exwm-input--update-focus-interval) (exwm-input--update-focus-lock, exwm-input--update-focus-defer-timer) (exwm-input--update-focus-timer, exwm-input--update-focus-defer) (defun exwm-input--update-focus): Rework the input focus update mechanism, mainly to overcome the input focus update contention. * exwm-input.el (defun exwm-input--update-focus): Use `select-window' instead of `exwm-workspace-switch'; calling the latter is too expensive. * exwm-layout.el (exwm-layout--on-minibuffer-setup): Drop a unnecessary line. * exwm-workspace.el (exwm-workspace-switch): Set input focus to the new workspace frame.
This commit is contained in:
parent
0c114d97b7
commit
76ced38ae4
3 changed files with 57 additions and 27 deletions
|
|
@ -381,9 +381,7 @@ selected by `other-buffer'."
|
|||
(run-with-idle-timer 0.01 nil ;FIXME
|
||||
(lambda ()
|
||||
(when (< 1 (window-height (minibuffer-window)))
|
||||
(exwm-layout--refresh))))
|
||||
;; Set input focus on the Emacs frame
|
||||
(x-focus-frame (window-frame (minibuffer-selected-window)))))
|
||||
(exwm-layout--refresh))))))
|
||||
|
||||
(defun exwm-layout--on-echo-area-change (&optional dirty)
|
||||
"Run when message arrives or in `echo-area-clear-hook' to refresh layout."
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue