Only check input focus for globally active model
* exwm-input.el (exwm-input--set-focus): Partly revert 810b471.
			
			
This commit is contained in:
		
							parent
							
								
									108b3949c2
								
							
						
					
					
						commit
						fe653ba244
					
				
					 1 changed files with 30 additions and 31 deletions
				
			
		|  | @ -61,15 +61,14 @@ | |||
| (defun exwm-input--set-focus (id) | ||||
|   "Set input focus to window ID in a proper way." | ||||
|   (when (exwm--id->buffer id) | ||||
|     (let ((focus (slot-value (xcb:+request-unchecked+reply exwm--connection | ||||
|                                  (make-instance 'xcb:GetInputFocus)) | ||||
|                              'focus))) | ||||
|       (unless (= focus id) | ||||
|     (with-current-buffer (exwm--id->buffer id) | ||||
|       (cond | ||||
|        ((and (not exwm--hints-input) | ||||
|              (memq xcb:Atom:WM_TAKE_FOCUS exwm--protocols)) | ||||
|             (when (= focus (frame-parameter nil 'exwm-id)) | ||||
|         (when (= (frame-parameter nil 'exwm-id) | ||||
|                  (slot-value (xcb:+request-unchecked+reply exwm--connection | ||||
|                                  (make-instance 'xcb:GetInputFocus)) | ||||
|                              'focus)) | ||||
|           (exwm--log "Focus on #x%x with WM_TAKE_FOCUS" id) | ||||
|           (exwm-input--update-timestamp | ||||
|            (lambda (timestamp id) | ||||
|  | @ -92,7 +91,7 @@ | |||
|                            :focus id | ||||
|                            :time xcb:Time:CurrentTime)) | ||||
|         (exwm-input--set-active-window id) | ||||
|             (xcb:flush exwm--connection)))))))) | ||||
|         (xcb:flush exwm--connection)))))) | ||||
| 
 | ||||
| (defun exwm-input--update-timestamp (callback &rest args) | ||||
|   "Fetch the latest timestamp from the server and feed it to CALLBACK. | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue