From 86f2215be3db25a6b6aacd6f8b0cb132b049e034 Mon Sep 17 00:00:00 2001 From: Chris Feng Date: Tue, 20 Feb 2018 22:21:02 +0800 Subject: Fix unexpected focus change after a global key binding is activated * exwm-core.el (exwm--unlock): Select FocusChange events on the root window. * exwm-input.el (exwm-input--on-FocusIn): Input focus should stay on the current workspace when the root window receives a FocusIn event. --- exwm-input.el | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'exwm-input.el') diff --git a/exwm-input.el b/exwm-input.el index 73a0dba6f22e..8102eb2ca79f 100644 --- a/exwm-input.el +++ b/exwm-input.el @@ -218,10 +218,9 @@ ARGS are additional arguments to CALLBACK." (xcb:unmarshal obj data) (with-slots (mode) obj ;; Revert input focus back to Emacs frame / X window when it's set on - ;; the root window or some workspace container. - (when (eq mode xcb:NotifyMode:Normal) - (x-focus-frame (selected-frame)) - (select-window (selected-window)))))) + ;; the root window. + (x-focus-frame exwm-workspace--current) + (select-window (frame-selected-window exwm-workspace--current))))) (defun exwm-input--on-EnterNotify (data _synthetic) "Handle EnterNotify events." -- cgit 1.4.1