about summary refs log tree commit diff
path: root/exwm.el
diff options
context:
space:
mode:
authorChris Feng <chris.w.feng@gmail.com>2015-08-07T04·41+0800
committerChris Feng <chris.w.feng@gmail.com>2015-08-07T04·41+0800
commit2ad1a89db0c9e3704c79294620c5ed4925b143eb (patch)
tree00e8f2f85a740453b6e9e205bb9972f1a90b03d1 /exwm.el
parent1e36a22b3f5fd3867f29eaf3e1891422a3bb952c (diff)
Various input fixes
* Fix `exwm-reset`
* Make input mode buffer local
* Allow window to stay in `char-mode` while setting input focus to other window
  or switching to other workspace
Diffstat (limited to 'exwm.el')
-rw-r--r--exwm.el6
1 files changed, 4 insertions, 2 deletions
diff --git a/exwm.el b/exwm.el
index 18d8ddad8f..88d767469b 100644
--- a/exwm.el
+++ b/exwm.el
@@ -196,8 +196,8 @@
   "Reset window to standard state: non-fullscreen, line-mode."
   (interactive)
   (with-current-buffer (window-buffer)
-    (when (and (eq major-mode 'exwm-mode) exwm--fullscreen)
-      (exwm-layout-unset-fullscreen)
+    (when (eq major-mode 'exwm-mode)
+      (when exwm--fullscreen (exwm-layout-unset-fullscreen))
       (exwm-input-grab-keyboard))))
 
 (defmacro exwm--with-current-id (id &rest body)
@@ -651,6 +651,8 @@
   (set (make-local-variable 'exwm--fullscreen) nil) ;used in fullscreen
   (set (make-local-variable 'exwm--floating-frame-geometry) nil) ;in fullscreen
   (set (make-local-variable 'exwm--fixed-size) nil) ;fixed size
+  (set (make-local-variable 'exwm--on-KeyPress) ;KeyPress event handler
+       'exwm-input--on-KeyPress-line-mode)
   ;; Properties
   (set (make-local-variable 'exwm-window-type) nil)
   (set (make-local-variable 'exwm--geometry) nil)