summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean Whitton <spwhitton@spwhitton.name>2020-08-10 09:04:12 -0700
committerSean Whitton <spwhitton@spwhitton.name>2020-08-10 09:04:12 -0700
commit98d66c02a69128b5dd0025dfe4194f8d632a6bdc (patch)
treefc3931357c62663bb4db9e7aa763282e53639c0b
parent077d76cd822357d334e18683827834f581f71f87 (diff)
downloaddotfiles-98d66c02a69128b5dd0025dfe4194f8d632a6bdc.tar.gz
factor out spw/get-mru-window
-rw-r--r--.emacs.d/init-spw.el20
1 files changed, 11 insertions, 9 deletions
diff --git a/.emacs.d/init-spw.el b/.emacs.d/init-spw.el
index 5c73e354..0fe98226 100644
--- a/.emacs.d/init-spw.el
+++ b/.emacs.d/init-spw.el
@@ -1432,6 +1432,16 @@ I use by default)."
(kill-buffer-and-window)))
(global-set-key [remap kill-buffer-and-window] #'spw/kill-buffer-and-window)
+(defun spw/get-mru-window ()
+ "Like `get-mru-window' but also consider the minibuffer."
+ (let (best-window best-time time)
+ (dolist (window (window-list-1) best-window)
+ (setq time (window-use-time window))
+ (when (and (not (eq window (selected-window)))
+ (or (not best-time) (> time best-time)))
+ (setq best-time time)
+ (setq best-window window)))))
+
(defun spw/back-and-forth (interactive)
(interactive "P")
(cond
@@ -1442,15 +1452,7 @@ I use by default)."
((one-window-p)
(switch-to-buffer (other-buffer) nil t))
(t
- (let (best-window best-time time)
- (select-window
- ;; this is like `get-mru-window' but we also consider the minibuffer
- (dolist (window (window-list-1) best-window)
- (setq time (window-use-time window))
- (when (and (not (eq window (selected-window)))
- (or (not best-time) (> time best-time)))
- (setq best-time time)
- (setq best-window window))))))))
+ (select-window (spw/get-mru-window)))))
(global-set-key [remap other-window] #'spw/back-and-forth)
(defconst spw/buffer-siblings-major-modes