emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/exwm 9105f23 1/3: Improve exwm-workspace-move-window be


From: Chris Feng
Subject: [elpa] externals/exwm 9105f23 1/3: Improve exwm-workspace-move-window behavior in specific case
Date: Wed, 31 Aug 2016 11:28:19 +0000 (UTC)

branch: externals/exwm
commit 9105f2312161a402ab7e7b4d6e8bcf127cbf51f5
Author: Ved Vyas <address@hidden>
Commit: Ved Vyas <address@hidden>

    Improve exwm-workspace-move-window behavior in specific case
    
    This is a small change that improves the behavior of
    `exwm-workspace-move-window` in the following situation:
    
    0. `exwm-workspace-show-all-buffers` and `exwm-layout-show-all-buffers`
    are `nil`*.
    1. On active workspace `i`, there is X window `a` in the selected Emacs
    window.
    2. On workspace `j`, there is X window `b` in the selected Emacs window
    on that workspace frame.
    3. While workspace `i` is active, use `exwm-workspace-move-window` to
    move `a` to workspace `j`.
    4. Switch to workspace `j` and use `exwm-workspace-move-window` to move
    `a` back to workspace `i`.
    
    Expected behavior: X window `a` is once again shown in the selected
    Emacs window on workspace `i` and X window `b` is once again shown in
    the selected Emacs window on workspace `j`.
    
    What is observed: `a` is OK but the selected Emacs window on workspace
    `j` does not show `b`. However, `b` is the first candidate when doing a
    `switch-to-buffer` in that Emacs window on workspace `j`.
    
    I'm not sure if this is the correct and complete change required, but it
    is working well so far.
    
    *The expected behavior is observed with EXWM 0.10 if
    exwm-{workspace,layout}-show-all-buffers are non-nil.
---
 exwm-workspace.el |    7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/exwm-workspace.el b/exwm-workspace.el
index 9585112..a99186c 100644
--- a/exwm-workspace.el
+++ b/exwm-workspace.el
@@ -746,10 +746,9 @@ INDEX must not exceed the current number of workspaces."
                                        (frame-root-window
                                         exwm--floating-frame)))))
           ;; Move the X window container.
-          (if (eq frame exwm-workspace--current)
-              (set-window-buffer (get-buffer-window (current-buffer) t)
-                                 (other-buffer))
-            (bury-buffer)
+          (set-window-buffer (get-buffer-window (current-buffer) t)
+                             (other-buffer))
+          (unless (eq frame exwm-workspace--current)
             ;; Clear the 'exwm-selected-window' frame parameter.
             (set-frame-parameter frame 'exwm-selected-window nil))
           (exwm-layout--hide id)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]