feat(emacs): recreate my old hydra menu for writeroom with transient

Create a Transient menu to adapt on the fly the width of my buffers
when using writeroom-mode. This commit also adds two other functions:
- `my/writeroom-reset` which resets the width of the buffer to its
  default state
- `my/writeroom-fit-buffer` which sets the width of the buffer to be
  exactly what is needed to fit the longest line of the buffer
This commit is contained in:
2026-05-03 01:11:40 +02:00
parent 1ea379f907
commit af2f22aa4b
2 changed files with 56 additions and 28 deletions

View File

@@ -504,34 +504,36 @@ My toggle keybindings are prefixed by ~t~.
A couple of keybindings are hidden from which-key, otherwise theres not
much to say. The prefix here is ~w~.
#+name: keybindings-windows
| Key | Function | Description | Package |
|-----+-------------------------------+-------------+----------------|
| | | windows | |
| c | evil-window-left | | evil |
| t | evil-window-down | | evil |
| s | evil-window-up | | evil |
| r | evil-window-right | | evil |
| . | windows-adjust-size/body | | |
| - | split-window-below-and-focus | | |
| / | split-window-right-and-focus | | |
| $ | winum-select-window-by-number | | winum |
| 0 | winum-select-window-0-or-10 | none | winum |
| 1 | winum-select-window-1 | none | winum |
| 2 | winum-select-window-2 | none | winum |
| 3 | winum-select-window-3 | none | winum |
| 4 | winum-select-window-4 | none | winum |
| 5 | winum-select-window-5 | none | winum |
| 6 | winum-select-window-6 | none | winum |
| 7 | winum-select-window-7 | none | winum |
| 8 | winum-select-window-8 | none | winum |
| 9 | winum-select-window-9 | none | winum |
| b | kill-buffer-and-window | | |
| d | delete-window | | |
| o | other-window | | |
| D | delete-other-windows | | |
| w | | writeroom | |
| w. | writeroom-buffer-width/body | | writeroom-mode |
| ww | writeroom-mode | | writeroom-mode |
| Key | Function | Description | Package |
|-----+-------------------------------+----------------+----------------|
| | | windows | |
| c | evil-window-left | | evil |
| t | evil-window-down | | evil |
| s | evil-window-up | | evil |
| r | evil-window-right | | evil |
| . | windows-adjust-size/body | | |
| - | split-window-below-and-focus | | |
| / | split-window-right-and-focus | | |
| $ | winum-select-window-by-number | | winum |
| 0 | winum-select-window-0-or-10 | none | winum |
| 1 | winum-select-window-1 | none | winum |
| 2 | winum-select-window-2 | none | winum |
| 3 | winum-select-window-3 | none | winum |
| 4 | winum-select-window-4 | none | winum |
| 5 | winum-select-window-5 | none | winum |
| 6 | winum-select-window-6 | none | winum |
| 7 | winum-select-window-7 | none | winum |
| 8 | winum-select-window-8 | none | winum |
| 9 | winum-select-window-9 | none | winum |
| b | kill-buffer-and-window | | |
| d | delete-window | | |
| o | other-window | | |
| D | delete-other-windows | | |
| w | | writeroom | |
| w. | my/writeroom-transient | adapt width | |
| w= | my/writeroom-reset | reset width | |
| wf | my/writeroom-fit-buffer | fit to content | |
| ww | writeroom-mode | | writeroom-mode |
** Quit
Why would I ever use any of these keybindings? They are prefixed with ~q~.