From b4517fbfa058e38b9c229d3e76674221d89a2e2b Mon Sep 17 00:00:00 2001 From: Chris Feng Date: Wed, 31 Aug 2016 19:18:42 +0800 Subject: 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. --- exwm-floating.el | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'exwm-floating.el') 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 -- cgit 1.4.1