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
				
			
		|  | @ -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) | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue