about summary refs log tree commit diff
path: root/exwm-floating.el
diff options
context:
space:
mode:
authorChris Feng <chris.w.feng@gmail.com>2016-08-31T11·18+0800
committerChris Feng <chris.w.feng@gmail.com>2016-08-31T11·18+0800
commitb4517fbfa058e38b9c229d3e76674221d89a2e2b (patch)
tree0774dff4bd725f28b5ef26c03f6cd1764d564204 /exwm-floating.el
parent9105f2312161a402ab7e7b4d6e8bcf127cbf51f5 (diff)
Force using visible buffers in `other-buffer'
* exwm-floating.el (exwm-floating--set-floating):
* exwm-workspace.el (exwm-workspace-move-window):
Buffers visible on other frames should be treated as invisible.  One
side effect is visible buffers on the current frame is also taken into
account.
Diffstat (limited to 'exwm-floating.el')
-rw-r--r--exwm-floating.el5
1 files changed, 3 insertions, 2 deletions
diff --git a/exwm-floating.el b/exwm-floating.el
index 6f6cfecbfe4a..f2cc09be46f4 100644
--- a/exwm-floating.el
+++ b/exwm-floating.el
@@ -82,8 +82,9 @@ context of the corresponding buffer.")
 (defun exwm-floating--set-floating (id)
   "Make window ID floating."
   (let ((window (get-buffer-window (exwm--id->buffer id))))
-    (when window                        ;window in non-floating state
-      (set-window-buffer window (other-buffer)))) ;hide it first
+    (when window
+      ;; Hide the non-floating X window first.
+      (set-window-buffer window (other-buffer nil t))))
   (let* ((original-frame exwm-workspace--current)
          ;; Create new frame
          (frame (with-current-buffer