about summary refs log tree commit diff
diff options
context:
space:
mode:
authorChris Feng <chris.w.feng@gmail.com>2017-08-30T16·58+0800
committerChris Feng <chris.w.feng@gmail.com>2017-08-30T16·58+0800
commit46dfaeb0310e4a331ffe5d19c0774c64e786ff27 (patch)
tree110846a11770e91544909540b4a29b5aafa86312
parent4eda6dde41e04765dcc519d123de20b020db6e4a (diff)
Avoid reusing dedicated window
* exwm-floating.el (exwm-floating--unset-floating):
* exwm-manage.el (exwm-manage--on-MapRequest):
Do not select a dedicated window for displaying a buffer.
-rw-r--r--exwm-floating.el6
-rw-r--r--exwm-manage.el4
2 files changed, 2 insertions, 8 deletions
diff --git a/exwm-floating.el b/exwm-floating.el
index ea68cb500b8b..af11b877b9c6 100644
--- a/exwm-floating.el
+++ b/exwm-floating.el
@@ -340,11 +340,7 @@ context of the corresponding buffer.")
             exwm--frame exwm-workspace--current))
     ;; Only show X windows in normal state.
     (unless (exwm-layout--iconic-state-p)
-      ;; Show it in the selected Emacs window but skip the mini-window.
-      (let ((window (or (minibuffer-selected-window)
-                        (frame-selected-window exwm-workspace--current))))
-        (set-window-buffer window buffer)
-        (select-window window))))
+      (pop-to-buffer-same-window buffer)))
   (with-current-buffer (exwm--id->buffer id)
     (run-hooks 'exwm-floating-exit-hook)))
 
diff --git a/exwm-manage.el b/exwm-manage.el
index 84dcf0a3a3bd..36a989665e94 100644
--- a/exwm-manage.el
+++ b/exwm-manage.el
@@ -682,9 +682,7 @@ border-width: %d; sibling: #x%x; stack-mode: %d"
             (if (exwm-layout--iconic-state-p)
                 ;; State change: iconic => normal.
                 (when (eq exwm--frame exwm-workspace--current)
-                  (set-window-buffer (frame-selected-window exwm--frame)
-                                     (current-buffer))
-                  (select-window (frame-selected-window exwm--frame)))
+                  (pop-to-buffer-same-window (current-buffer)))
               (exwm--log "#x%x is already managed" window)))
         (if (/= exwm--root parent)
             (progn (xcb:+request exwm--connection