The Complete Computing Environment

Window Management in Emacs

(provide 'cce/window-management)
(use-package transpose-frame
  :after evil-leader
  (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)

Right now I just use this thing to navigate windows, along with 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.