From f493ea864097c357b46672bf1132a30184ce1e62 Mon Sep 17 00:00:00 2001 From: jao Date: Sat, 7 Nov 2026 00:29:49 +0000 Subject: switch in lieu of spatial -window --- init.el | 43 ++++++++++++++++++++++++++++++------------- 1 file changed, 30 insertions(+), 13 deletions(-) (limited to 'init.el') diff --git a/init.el b/init.el index 3aba00d..65832b4 100644 --- a/init.el +++ b/init.el @@ -1022,22 +1022,39 @@ (global-set-key "\C-xp" 'jao-prev-window) -;;;; window navigation (spatial-window) - -(use-package spatial-window +;;;; window navigation (switch-window) +(use-package switch-window :ensure t + :custom ((switch-window-minibuffer-shortcut ?z) + (switch-window-background t) + (switch-window-shortcut-style 'qwerty) + (switch-window-input-style 'minibuffer) + (switch-window-shortcut-appearance 'text) + (switch-window-timeout 7) + (switch-window-threshold 2)) :config - (defun jao-spatial-window-select () + (defun jao-switch-window--then (prompt cmd) + (let ((f `(lambda () + (let ((default-directory ,default-directory)) + (call-interactively ',cmd))))) + (switch-window--then prompt f f))) + + (defun jao-switch-window-then-dired () + (interactive) + (jao-switch-window--then "Find directory" 'dired)) + + (defun jao-switch-window-then-find-file () (interactive) - (let ((n (length (window-list)))) - (cond ((< n 2)) - ((< n 3) (other-window 1)) - (t (spatial-window-select))))) - - :bind - ("M-o" . jao-spatial-window-select) - ("C-x o" . jao-spatial-window-select) - ("C-x p" . jao-spatial-window-select)) + (jao-switch-window--then "Find file" 'find-file)) + + (defun jao-switch-window-then-consult-buffer () + (interactive) + (jao-switch-window--then "Switch to buffer" 'consult-buffer)) + + :bind (("M-o" . switch-window) + ("C-x 4 d" . jao-switch-window-then-dired) + ("C-x 4 f" . jao-switch-window-then-find-file) + ("C-x 4 b" . jao-switch-window-then-consult-buffer))) ;;;; transposing windows (defun transpose-windows (arg) -- cgit v1.2.3