; Do not cache events for non-`exwm-mode' buffers

This commit is contained in:
Chris Feng 2017-04-23 23:39:06 +08:00
parent d4cfa564be
commit 2b7449ea42

View file

@ -494,10 +494,12 @@ This value should always be overwritten.")
(setq event (xcb:keysyms:keysym->event (setq event (xcb:keysyms:keysym->event
exwm--connection (car keysym) exwm--connection (car keysym)
(logand state (lognot (cdr keysym)))))) (logand state (lognot (cdr keysym))))))
(when (eq major-mode 'exwm-mode) (if (not (eq major-mode 'exwm-mode))
(exwm-input--unread-event event)
;; Grab keyboard temporarily.
(setq exwm-input--temp-line-mode t) (setq exwm-input--temp-line-mode t)
(exwm-input--grab-keyboard)) ;grab keyboard temporarily (exwm-input--grab-keyboard)
(exwm-input--cache-event event)))) (exwm-input--cache-event event)))))
(xcb:+request exwm--connection (xcb:+request exwm--connection
(make-instance 'xcb:AllowEvents (make-instance 'xcb:AllowEvents
:mode xcb:Allow:AsyncKeyboard :mode xcb:Allow:AsyncKeyboard