[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/exwm fec85bb 1/2: Select more sensible buffers after cr
From: |
Chris Feng |
Subject: |
[elpa] externals/exwm fec85bb 1/2: Select more sensible buffers after creating new windows |
Date: |
Sun, 4 Nov 2018 10:02:46 -0500 (EST) |
branch: externals/exwm
commit fec85bb72a2d93fb86949f3409327b0f88ae60bc
Author: Chris Feng <address@hidden>
Commit: Chris Feng <address@hidden>
Select more sensible buffers after creating new windows
* exwm-layout.el (exwm-layout--refresh-other)
(exwm-layout--refresh-workspace): When filling vacated windows
select more sensible buffer by calling `switch-to-next-buffer' for
newly created windows.
---
exwm-layout.el | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/exwm-layout.el b/exwm-layout.el
index bee6901..b97c2f3 100644
--- a/exwm-layout.el
+++ b/exwm-layout.el
@@ -296,7 +296,9 @@ selected by `other-buffer'."
(dolist (window windows)
(with-current-buffer (window-buffer window)
(when (derived-mode-p 'exwm-mode)
- (switch-to-prev-buffer window))))))
+ (if (window-prev-buffers window)
+ (switch-to-prev-buffer window)
+ (switch-to-next-buffer window)))))))
(defun exwm-layout--refresh-workspace (frame)
"Refresh workspace frame FRAME."
@@ -346,14 +348,18 @@ selected by `other-buffer'."
;; Set some sensible buffer to vacated windows.
(let ((exwm-layout--other-buffer-exclude-buffers covered-buffers))
(dolist (window vacated-windows)
- (switch-to-prev-buffer window)))
+ (if (window-prev-buffers window)
+ (switch-to-prev-buffer window)
+ (switch-to-next-buffer window))))
;; Make sure windows floating / on other workspaces are excluded
(let ((exwm-layout--other-buffer-exclude-exwm-mode-buffers t))
(dolist (window (window-list frame 'nomini))
(with-current-buffer (window-buffer window)
(when (and (derived-mode-p 'exwm-mode)
(or exwm--floating-frame (not (eq frame exwm--frame))))
- (switch-to-prev-buffer window)))))
+ (if (window-prev-buffers window)
+ (switch-to-prev-buffer window)
+ (switch-to-next-buffer window))))))
(exwm-layout--set-client-list-stacking)
(xcb:flush exwm--connection)))