about summary refs log tree commit diff
path: root/exwm-input.el
diff options
context:
space:
mode:
authorAdrián Medraño Calvo <adrian@medranocalvo.com>2018-10-21T12·00+0000
committerAdrián Medraño Calvo <adrian@medranocalvo.com>2018-10-21T12·00+0000
commiteb91ee2c77787bbeb1df74f0237f5087d031217f (patch)
tree04f11fab01f26a1fe7ad0351299b0254870c06f6 /exwm-input.el
parentdba1ed94c2e06b46da77a2aa80aa35e17b08fdd6 (diff)
Restore keyboard grabbing after exiting fullscreen
Recover the difference between the input mode selected by the user and
actual one, which might be transient.  This was inadvertently removed in
recent changes.

* exwm-core.el (exwm--selected-input-mode): New variable.
* exwm-input.el (exwm-input-grab-keyboard)
(exwm-input-release-keyboard): Use it.
* exwm-layout.el (exwm-layout-unset-fullscreen): Return to the
selected input mode.
Diffstat (limited to 'exwm-input.el')
-rw-r--r--exwm-input.el2
1 files changed, 2 insertions, 0 deletions
diff --git a/exwm-input.el b/exwm-input.el
index 78e74cdcf83b..c757b09d3fa6 100644
--- a/exwm-input.el
+++ b/exwm-input.el
@@ -756,6 +756,7 @@ button event."
                        (exwm--buffer->id (window-buffer)))))
   (when id
     (exwm--log "id=#x%x" id)
+    (setq exwm--selected-input-mode 'line-mode)
     (exwm-input--grab-keyboard id)
     (exwm-input--update-mode-line id)))
 
@@ -766,6 +767,7 @@ button event."
                        (exwm--buffer->id (window-buffer)))))
   (when id
     (exwm--log "id=#x%x" id)
+    (setq exwm--selected-input-mode  'char-mode)
     (exwm-input--release-keyboard id)
     (exwm-input--update-mode-line id)))