summaryrefslogtreecommitdiffhomepage
path: root/init.el
diff options
context:
space:
mode:
authorjao <jao@gnu.org>2026-11-07 00:29:49 +0000
committerjao <jao@gnu.org>2026-11-07 00:29:49 +0000
commitf493ea864097c357b46672bf1132a30184ce1e62 (patch)
tree4084cb2eb72e0cbd041cf215875ad1d91bcc331a /init.el
parente9f11c2534cc41bd5a433f625aa1d73a2aa23fcd (diff)
downloadelibs-f493ea864097c357b46672bf1132a30184ce1e62.tar.gz
elibs-f493ea864097c357b46672bf1132a30184ce1e62.tar.bz2
switch in lieu of spatial -windowmain
Diffstat (limited to 'init.el')
-rw-r--r--init.el43
1 files changed, 30 insertions, 13 deletions
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)