From f837e5f7464932fc49c10a7442dc1a23af61b257 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Mon, 11 May 2026 15:16:56 -0500 Subject: feat(window): resize the split with C-; b `C-; b ///' moves the active window's divider that way (via `windsize'), then keeps `cj/window-resize-map' active so bare arrows keep nudging until any other key (or `C-g'/`'). `C-u N C-; b ' resizes by N. windsize was on `C-s-' (Ctrl+Super), which a tiling WM intercepts, so those keys were useless. I dropped that binding. The package is now `:commands'-deferred, and `windsize-cols'/`windsize-rows' drop to 2 (8/4 overshoots in a held nudge loop). `cj/window-resize-sticky' dispatches on the arrow that triggered it and arms the loop. --- modules/custom-buffer-file.el | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) (limited to 'modules/custom-buffer-file.el') diff --git a/modules/custom-buffer-file.el b/modules/custom-buffer-file.el index 7fe412ee..f4401d1f 100644 --- a/modules/custom-buffer-file.el +++ b/modules/custom-buffer-file.el @@ -17,6 +17,9 @@ ;; ;; Keybindings under ~C-; b~: ;; - ~C-; b k~ kill buffer and window (delete window, kill/bury buffer) +;; - ~C-; b ~ move the active window's divider that way (via windsize); +;; bare arrows keep nudging until any other key (cj/window-resize-sticky in +;; ui-navigation.el) ;; - Copy buffer content submenu at ~C-; b c~ ;; - ~C-; b c w~ copy whole buffer ;; - ~C-; b c t~ copy from beginning to point @@ -37,6 +40,9 @@ ;; cj/kill-buffer-and-window defined in undead-buffers.el (declare-function cj/kill-buffer-and-window "undead-buffers") +;; cj/window-resize-sticky (C-; b ) defined in ui-navigation.el +(declare-function cj/window-resize-sticky "ui-navigation") + ;; ------------------------- Print Buffer As Postscript ------------------------ (defvar cj/print-spooler-command 'auto @@ -454,7 +460,14 @@ Signals an error if: "w" #'cj/view-buffer-in-eww "E" #'cj/view-email-in-buffer "o" #'cj/xdg-open - "O" #'cj/open-this-file-with) + "O" #'cj/open-this-file-with + ;; Window resize (cj/window-resize-sticky in ui-navigation.el, on `windsize'): + ;; the arrow moves the active window's divider that way, then bare arrows + ;; keep nudging until any other key. + "" #'cj/window-resize-sticky + "" #'cj/window-resize-sticky + "" #'cj/window-resize-sticky + "" #'cj/window-resize-sticky) (when (boundp 'cj/custom-keymap) (keymap-set cj/custom-keymap "b" cj/buffer-and-file-map)) @@ -484,7 +497,11 @@ Signals an error if: "C-; b w" "view in EWW" "C-; b E" "view email" "C-; b o" "open with default app" - "C-; b O" "open with program...")) + "C-; b O" "open with program..." + "C-; b " "resize divider left" + "C-; b " "resize divider right" + "C-; b " "resize divider up" + "C-; b " "resize divider down")) (provide 'custom-buffer-file) -- cgit v1.2.3