42 lines
1.2 KiB
Org Mode
42 lines
1.2 KiB
Org Mode
:PROPERTIES:
|
|
:ID: cce/window_management_in_emacs
|
|
:ROAM_ALIASES: hydra-windowing
|
|
:END:
|
|
#+TITLE: Window Management in Emacs
|
|
#+PROPERTY: header-args :mkdirp yes :results none
|
|
#+PROPERTY: header-args:emacs-lisp :tangle window-management.el
|
|
|
|
#+ARCOLOGY_KEY: cce/window-management
|
|
#+ARCOLOGY_ALLOW_CRAWL: t
|
|
|
|
#+ARROYO_EMACS_MODULE: window-management
|
|
#+ARROYO_MODULE_WANTS: cce/evil_mode.org
|
|
#+ARROYO_MODULE_WANTS: cce/hydra.org
|
|
#+AUTO_TANGLE: t
|
|
|
|
#+begin_src emacs-lisp
|
|
(provide 'cce/window-management)
|
|
(use-package transpose-frame
|
|
:after evil-leader
|
|
:config
|
|
(require 'winner)
|
|
(winner-mode 1)
|
|
(defhydra hydra-windowing ()
|
|
("t" transpose-frame)
|
|
("r" rotate-frame-clockwise)
|
|
("R" rotate-frame-anticlockwise)
|
|
("F" flip-frame)
|
|
("f" flop-frame)
|
|
("h" windmove-left)
|
|
("j" windmove-down)
|
|
("k" windmove-up)
|
|
("l" windmove-right)
|
|
("u" winner-undo)
|
|
("U" winner-redo))
|
|
(evil-leader/set-key (kbd "w") #'hydra-windowing/body))
|
|
(global-set-key (kbd "s-o") #'other-window)
|
|
#+end_src
|
|
|
|
Right now I just use this thing to navigate windows, along with [[id:cce/exwm][EXWM]]'s =other-frame= and =other-window= bindings. I would love to have better workspace support but I don't really feel like investing in it right now.
|
|
|