about summary refs log tree commit diff
path: root/exwm-layout.el
diff options
context:
space:
mode:
authorAdrián Medraño Calvo <adrian@medranocalvo.com>2018-10-08T12·00+0000
committerAdrián Medraño Calvo <adrian@medranocalvo.com>2018-10-08T12·00+0000
commitdff1ef6a3c36fd7d8b3a3bafbd66a91b8e576b26 (patch)
tree3cee64b88e0658c8e0d8a57297c875fe169fcb8a /exwm-layout.el
parent472f7cb82b67b98843f10c12e6bda9b8ae7262bc (diff)
Simplify input handling
No functional change.

* exwm-input.el (exwm-input--current-input-mode): New function
indicating keyboard input mode.
(exwm-input--on-KeyPress, exwm-input--update-mode-line): Use
`exwm-input--current-input-mode'.
(exwm-input-grab-keyboard, exwm-input-release-keyboard)
(exwm-input--update-mode-line): Simplify.

* exwh-core.el (exwm--on-KeyPress): Remove variable, use
`exwm--keyboard-grabbed' and `exwm-input--current-input-mode'
instead.
Diffstat (limited to 'exwm-layout.el')
-rw-r--r--exwm-layout.el3
1 files changed, 2 insertions, 1 deletions
diff --git a/exwm-layout.el b/exwm-layout.el
index 56faadd99209..90988faae07f 100644
--- a/exwm-layout.el
+++ b/exwm-layout.el
@@ -45,6 +45,7 @@
 (defvar exwm-layout--timer nil "Timer used to track echo area changes.")
 
 (defvar exwm-workspace--current)
+(declare-function exwm-input--current-input-mode "exwm-input.el")
 (declare-function exwm-input--release-keyboard "exwm-input.el")
 (declare-function exwm-input--grab-keyboard "exwm-input.el")
 (declare-function exwm-input-grab-keyboard "exwm-input.el")
@@ -199,7 +200,7 @@
         (make-instance 'xcb:ewmh:set-_NET_WM_STATE :window exwm--id :data []))
     (xcb:flush exwm--connection)
     (set-window-dedicated-p (get-buffer-window) nil)
-    (when exwm--keyboard-grabbed
+    (when (eq 'line-mode (exwm-input--current-input-mode))
       (exwm-input--grab-keyboard exwm--id))))
 
 ;;;###autoload