about summary refs log tree commit diff
diff options
context:
space:
mode:
authorChris Feng <chris.w.feng@gmail.com>2015-08-06T06·41+0800
committerChris Feng <chris.w.feng@gmail.com>2015-08-06T06·41+0800
commit1e36a22b3f5fd3867f29eaf3e1891422a3bb952c (patch)
tree277f57121b08558a192baa66fdf6fbecdac65eca
parent3fb90b9eaac752760fc32404cbd1574b8ef61669 (diff)
Check buffer mode in exwm-reset
This should prevent users from misoperation.
-rw-r--r--exwm-workspace.el6
-rw-r--r--exwm.el7
2 files changed, 5 insertions, 8 deletions
diff --git a/exwm-workspace.el b/exwm-workspace.el
index ed06f64ad2e5..d700f41a14c5 100644
--- a/exwm-workspace.el
+++ b/exwm-workspace.el
@@ -111,11 +111,7 @@ The optional FORCE option is for internal use only."
     (unless (and (<= 0 index) (< index exwm-workspace-number))
       (user-error "[EXWM] Workspace index out of range: %d" index))
     (when (or force (/= exwm-workspace-current-index index))
-      ;; Exit fullscreen mode
-      (with-current-buffer (window-buffer)
-        (when (and (eq major-mode 'exwm-mode) exwm--fullscreen)
-          (exwm-layout-unset-fullscreen)
-          (exwm-input-grab-keyboard)))
+      (exwm-reset)                      ;exit full screen
       (let ((frame (elt exwm-workspace--list index)))
         (setq exwm-workspace--current frame
               exwm-workspace-current-index index)
diff --git a/exwm.el b/exwm.el
index c8f10aff246d..18d8ddad8f9c 100644
--- a/exwm.el
+++ b/exwm.el
@@ -195,9 +195,10 @@
 (defun exwm-reset ()
   "Reset window to standard state: non-fullscreen, line-mode."
   (interactive)
-  (with-current-buffer (window-buffer (selected-window))
-    (when exwm--fullscreen (exwm-layout-unset-fullscreen))
-    (exwm-input-grab-keyboard)))
+  (with-current-buffer (window-buffer)
+    (when (and (eq major-mode 'exwm-mode) exwm--fullscreen)
+      (exwm-layout-unset-fullscreen)
+      (exwm-input-grab-keyboard))))
 
 (defmacro exwm--with-current-id (id &rest body)
   "Evaluate BODY in the context of the buffer corresponding to window ID."