Brought back the window hydra.

This commit is contained in:
Micheal Smith 2026-02-17 16:47:04 -06:00
parent d472553fa3
commit d7ffe1230b
Signed by: xulfer
GPG key ID: E40750BFE6702504

View file

@ -25,11 +25,81 @@ _l_ → _c_ lose
(global-set-key (kbd "C-c t") 'hydra-tab/body) (global-set-key (kbd "C-c t") 'hydra-tab/body)
#+end_src #+end_src
** Windows
Quite a helpful window hydra. I cannot take credit for this. I copied it
from somewhere. When I find the link I'll add it here.
#+name: window-hydra
#+begin_src emacs-lisp :tangle no
(defhydra hydra-window (:color red :hint nil)
"
Movement^^ ^Split^ ^Switch^ ^Resize^
----------------------------------------------------------------
_h_ ← _v_ertical _b_uffer _q_ X←
_j__x_ horizontal _f_ind files _w_ X↓
_k__z_ undo _a_ce 1 _e_ X↑
_l__Z_ reset _s_wap _r_ X→
_F_ollow _D_lt Other _S_ave max_i_mize
_SPC_ cancel _o_nly this _d_elete
"
("h" windmove-left )
("j" windmove-down )
("k" windmove-up )
("l" windmove-right )
("q" hydra-move-splitter-left)
("w" hydra-move-splitter-down)
("e" hydra-move-splitter-up)
("r" hydra-move-splitter-right)
("b" consult-buffer)
("f" consult-fd)
("F" follow-mode)
("a" (lambda ()
(interactive)
(ace-window 1)
(add-hook 'ace-window-end-once-hook
'hydra-window/body))
)
("v" (lambda ()
(interactive)
(split-window-right)
(windmove-right))
)
("x" (lambda ()
(interactive)
(split-window-below)
(windmove-down))
)
("s" (lambda ()
(interactive)
(ace-window 4)
(add-hook 'ace-window-end-once-hook
'hydra-window/body)))
("S" save-buffer)
("d" delete-window)
("D" (lambda ()
(interactive)
(ace-window 16)
(add-hook 'ace-window-end-once-hook
'hydra-window/body))
)
("o" delete-other-windows)
("i" ace-maximize-window)
("z" (progn
(winner-undo)
(setq this-command 'winner-undo))
)
("Z" winner-redo)
("SPC" nil))
(global-set-key (kbd "C-c w") 'hydra-window/body)
#+end_src
** Pulling it all together ** Pulling it all together
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package hydra (use-package hydra
:demand t :demand t
:config :config
<<tab-hydra>>) <<tab-hydra>>
<<window-hydra>>)
#+end_src #+end_src