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

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

[elpa] externals/exwm 84a9041: Fix exwm-workspace-switch-to-buffer


From: Chris Feng
Subject: [elpa] externals/exwm 84a9041: Fix exwm-workspace-switch-to-buffer
Date: Thu, 25 Feb 2016 10:38:36 +0000

branch: externals/exwm
commit 84a9041b20e5477fb2ce2989de9dd2583ef12773
Author: Chris Feng <address@hidden>
Commit: Chris Feng <address@hidden>

    Fix exwm-workspace-switch-to-buffer
    
    * exwm-workspace.el (exwm-workspace-switch-to-buffer): Select the floating
    frame when switching to a floating X window buffer.
---
 exwm-workspace.el |   17 +++++++++++++----
 1 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/exwm-workspace.el b/exwm-workspace.el
index 80767d5..8230bd7 100644
--- a/exwm-workspace.el
+++ b/exwm-workspace.el
@@ -399,10 +399,19 @@ The optional FORCE option is for internal use only."
                (rename-buffer (concat " " (buffer-name))))))))))
   (when buffer-or-name
     (with-current-buffer buffer-or-name
-      (if (and (eq major-mode 'exwm-mode)
-               (not (eq exwm--frame exwm-workspace--current)))
-          (exwm-workspace-move-window exwm-workspace-current-index
-                                      exwm--id)
+      (if (eq major-mode 'exwm-mode)
+          ;; EXWM buffer.
+          (if (eq exwm--frame exwm-workspace--current)
+              ;; On the current workspace.
+              (if (not exwm--floating-frame)
+                  (switch-to-buffer buffer-or-name)
+                ;; Select the floating frame.
+                (select-frame-set-input-focus exwm--floating-frame)
+                (select-window (frame-root-window exwm--floating-frame)))
+            ;; On another workspace.
+            (exwm-workspace-move-window exwm-workspace-current-index
+                                        exwm--id))
+        ;; Ordinary buffer.
         (switch-to-buffer buffer-or-name)))))
 
 (defun exwm-workspace-rename-buffer (newname)



reply via email to

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