about summary refs log tree commit diff
path: root/exwm-workspace.el
diff options
context:
space:
mode:
Diffstat (limited to 'exwm-workspace.el')
-rw-r--r--exwm-workspace.el6
1 files changed, 5 insertions, 1 deletions
diff --git a/exwm-workspace.el b/exwm-workspace.el
index a3f4c2e75b..e2df37ede9 100644
--- a/exwm-workspace.el
+++ b/exwm-workspace.el
@@ -40,6 +40,10 @@ NIL if FRAME is not a workspace"
   "Retrieve total number of workspaces."
   (length exwm-workspace--list))
 
+(defsubst exwm-workspace--workspace-p (frame)
+  "Return t if FRAME is a workspace."
+  (memq frame exwm-workspace--list))
+
 (defvar exwm-workspace--switch-map
   (let ((map (make-sparse-keymap)))
     (define-key map [t] (lambda () (interactive)))
@@ -334,7 +338,7 @@ The optional FORCE option is for internal use only."
                                :stack-mode xcb:StackMode:Above))))
         (setq exwm-workspace--current frame
               exwm-workspace-current-index index)
-        (unless (memq (selected-frame) exwm-workspace--list)
+        (unless (exwm-workspace--workspace-p (selected-frame))
           ;; Save the floating frame window selected on the previous workspace.
           (set-frame-parameter (with-current-buffer (window-buffer)
                                  exwm--frame)