diff options
author | Chris Feng <chris.w.feng@gmail.com> | 2016-07-21T04·51+0800 |
---|---|---|
committer | Chris Feng <chris.w.feng@gmail.com> | 2016-07-21T04·51+0800 |
commit | 76ced38ae43a9192ed97ca35dd1cc83c62b2a073 (patch) | |
tree | e6f6edcf0a765f3dfcf3ada4f06a2f7036d76f0e /exwm-workspace.el | |
parent | 0c114d97b78f806ebe2904c8f55f573fd7c879e7 (diff) |
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.
Diffstat (limited to 'exwm-workspace.el')
-rw-r--r-- | exwm-workspace.el | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/exwm-workspace.el b/exwm-workspace.el index 0d636398c4d4..2ff5e0ce04da 100644 --- a/exwm-workspace.el +++ b/exwm-workspace.el @@ -460,6 +460,7 @@ The optional FORCE option is for internal use only." (set-frame-parameter (buffer-local-value 'exwm--frame (window-buffer)) 'exwm-selected-window (selected-window))) (select-window window) + (x-focus-frame frame) ;essential for transferring input focus (set-frame-parameter frame 'exwm-selected-window nil) ;; Close the (possible) active minibuffer (when (active-minibuffer-window) |