Add support for `mouse-autoselect-window'

; This feature requires both `mouse-autoselect-window` and
; `focus-follows-mouse' being set.  Delaying autoselection is not
; supported yet.

* exwm-core.el (exwm--client-event-mask): Select the EnterNotify event
on each X window when `mouse-autoselect-window' is set.
* exwm-input.el (exwm-input--on-EnterNotify): New function for making
`mouse-autoselect-window' work on X windows.
(exwm-input--init): Listen to EnterNotify event when
`mouse-autoselect-window' is set.
This commit is contained in:
Chris Feng 2017-12-31 20:53:58 +08:00
parent 76d6f608bc
commit dd0a62c405
2 changed files with 49 additions and 3 deletions

View file

@ -86,9 +86,10 @@ least SECS seconds later."
,function
,@args))
(defconst exwm--client-event-mask
(eval-when-compile
(logior xcb:EventMask:StructureNotify xcb:EventMask:PropertyChange))
(defconst exwm--client-event-mask (logior xcb:EventMask:StructureNotify
xcb:EventMask:PropertyChange
(if mouse-autoselect-window
xcb:EventMask:EnterWindow 0))
"Event mask set on all managed windows.")
(defvar exwm-input-line-mode-passthrough)