From 4d5b0e81cd0f990c6bb1ef4d17dd7e5e1f63ba6b Mon Sep 17 00:00:00 2001 From: Nacho Barrientos Date: Sun, 11 Dec 2022 12:23:42 +0100 Subject: [PATCH] Make sure the buffer that generates the event is current * exwm-input.el (exwm-input--on-ButtonPress): Set current buffer when running pre- and post-command hooks. --- exwm-input.el | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/exwm-input.el b/exwm-input.el index 79bc78e..ab22d60 100644 --- a/exwm-input.el +++ b/exwm-input.el @@ -452,9 +452,12 @@ ARGS are additional arguments to CALLBACK." (t ;; Replay this event by default. (setq fake-last-command t) - (setq mode xcb:Allow:ReplayPointer)))) - (when fake-last-command - (exwm-input--fake-last-command)) + (setq mode xcb:Allow:ReplayPointer))) + (when fake-last-command + (if buffer + (with-current-buffer buffer + (exwm-input--fake-last-command)) + (exwm-input--fake-last-command)))) (xcb:+request exwm--connection (make-instance 'xcb:AllowEvents :mode mode :time xcb:Time:CurrentTime)) (xcb:flush exwm--connection))