I just read Mickey’s wonderful article on window management, and has given me the push I need to take control over my emacs windows/frames. I have an idea of what I will configure; maximum of two windows per frame, and if is my portrait frame split horizontally and split vertically for my landscape frame, plus some additional config for Magit. Before I take the plunge, I wanted to quickly reach out to see what other people have done for their configs to get some ideas. Figure might also be good to collect a few different configurations of window configs for people interested.
Some configs I have found on the way and will update with any suggestions people have:
- Karthink’s config, good integration with the popper package
- emacs-pure - has some display-buffer-alist settings for magit which are of interest to me, as the built in magit methods for handling new frames isn’t exactly what I want.
Any recommendations, please feel free to share them.
I think that preferences for
display-buffer-alist
will depend on each user’s workflow. With my rule it will pop upmagit-status
in the currently active window, then split to show logs, diffs, etc. I don’t normally use more than two windows per frame, so it’s not too bad if it messes things up, but I haven’t noticed it doing that. If it does do something weird, I just usewinner-undo
until I get back to where I was. For this you have to have(winner-mode)
somewhere in your config or start it manually I guess.For instance, if you had two windows in a vertical split like
A | B
with point inA
, then runmagit-status
,A
will show magit andB
won’t change unless you run something likemagit-log
. Pressingq
in the log window will restoreB
to what it was showing before.Changing this behavior is probably possible, but I’m satisfied with this so far.