summaryrefslogtreecommitdiff
path: root/modules/ui-navigation.el
Commit message (Collapse)AuthorAgeFilesLines
* fix(ui-navigation): clear dedicated before toggling window splitCraig Jennings2026-05-131-22/+32
| | | | | | | | toggle-window-split swapped buffers between two windows via two set-window-buffer calls. If either window was strongly dedicated (e.g. *Org Agenda* via the display-buffer-alist rule), the dedicated window rejected the second swap. Both panes ended up showing the dedicated buffer. The non-dedicated buffer never made it across. The fix clears dedicated on both windows before the swap. The user explicitly invoked a layout change, so preserving per-window dedicated through the operation would just re-trigger the same wedge on the next toggle. Tests in tests/test-ui-navigation--toggle-window-split.el cover the no-dedicated baseline, the bug-trigger (dedicated selected window), the post-toggle cleared state, and the one-window / three-window no-op boundaries.
* feat(window): resize the split with C-; b <arrow>Craig Jennings2026-05-111-5/+28
| | | | | | `C-; b <left>/<right>/<up>/<down>' 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'/`<escape>'). `C-u N C-; b <right>' resizes by N. windsize was on `C-s-<arrow>' (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.
* refactor(ui-navigation): drop redundant M-S-s window-swap bindingCraig Jennings2026-05-071-3/+0
| | | | `window-swap-states` on M-S-s overlapped with `buffer-move` (C-M-arrows), which I actually use. I cleared the binding plus the M-S -> M-S-s translation in keyboard-compat.el so the keyboard table stays in sync.
* fix(terminal): add console/mosh compatibilityCraig Jennings2026-01-231-6/+6
| | | | | | | | - Create terminal-compat.el for arrow key escape sequences - Fix M-uppercase keybindings (M-O → M-S-o, etc.) that conflicted with terminal escape sequences ESC O A/B/C/D - Add GUI-only guards for emojify and icon rendering - 18 keybindings updated across 13 modules with override comments
* refactor: ui-navigation: update keybindings and declarationsCraig Jennings2025-10-201-9/+11
| | | | | | | | Replace `global-set-key` with `keymap-global-set` for keybindings. Add missing `defvar` declarations and `declare-function` statements for improved clarity and maintainability of variable and function usage. Remove unnecessary `:defer` from `use-package` statements as deferred loading is not required.
* changing repositoriesCraig Jennings2025-10-121-0/+154