useful resources:
1. https://protesilaos.com/codelog/2024-02-08-emacs-window-rule...
2. https://www.masteringemacs.org/article/demystifying-emacs-wi...
3. <this space is for rent>
(Additional useful knowledge)
you are not alone ! even the info-page has this: https://www.gnu.org/software/emacs/manual/html_node/elisp/Th...
My org-mode emacs instance for note taking is split into quite a few windows: ongoing work task(s), generic "today's scratch pad", various topical notes files, etc.
On the posted topic: I don't know whether the transposition would be useful for me though - as the layout is set up by screen orientation then only a 180 degree turn would make sense.
This is also part of why I try to mostly, but not super pendantically, maintain the discipline of keeping lines under 80ish characters most of the time. Occasional spill is no big deal but constant spill gets hard to read in this context.
Partially this is just out of habit of many years, but lately it's becoming an actual advantage. My most recent project has me diving through multiple codebases, none of them in the same language; I've followed some interactions through Perl, Java, PHP, and Typescript codebases in quick succession. Both having the multiple contexts, that I have years of muscle memory using, and not needing to load up separate IDEs for each of them has turned out to be really advantageous. Emacs may not be the "best" at handling any one language but I don't think there's much better at trying to handle all of them simultaneously.
If I were a better Emacs citizen, I would lobby the maintainers to fix compilation-goto-locus so that it obeys display-buffer-alist like every other part of Emacs (that I know about, except for the *Completions* buffer, which does not need to be fixed IMHO because the *Completions* window reliably deletes itself when the user aborts or exits the minibuffer).
Main use cases are:
* Look at a "template" file as I'm working.
* The "occur" window
* Really, any grep output
* Compilation window (This is how I run all tests)
I'd love to have it so that "output" is in the other window at all times. I haven't really found a way for that to work, too well. Especially since often working on websites. The idea behind skewer-mode is really enticing to me. I have yet to actually make that work, though. * Implementation/header pairs in C++
* Language REPLs (e.g., Python)
* Quick calculations in Calc while coding
* Checking dates on the calendar
* Magit status
* Diff buffers (especially diff-buffer-with-file)
* Listing neighboring files with dired
* Notes on a code base/task in an Org mode fileIf you do this, you can make paging snappier and more predictable like so:
(setf scroll-preserve-screen-position t)
(setf next-screen-context-lines 0)
For many of the websites that I use, this arrangement combines nicely with eww to make a very screen-efficient browsing experience.---
[1] That is, three windows of the same size side-by-side.
> [1] That is, three windows of the same size side-by-side.
`C-x +` (M-x balance-windows) for those who don't know . There's also M-x balance-windows-area.
I cannot imagine using the features discussed in TFA though. They don't seem to solve anything for me.
So even if I'm working on one thing, I do C-x 2 and use the right window, because then the beginning of the text is aligned to the center of my screen.
Yes, this is because I insist on running Emacs maximized.
I like to have the side-by-side windows looking at different files (unless I'm in a really long file) and the stack of windows have vcs, messages, and sometimes eglot
I can quickly go over the content of the files in a directory with one window in dired mode and another for visiting the files.
Magit and sly/SLIME work much better with a second window, I'd say.
It does, but I don't think they have default bindings. The commands are windmove-{left,down,up,right}. I've had them bound to C-S-{h,j,k,l} for years and it makes moving around much more fluid and predictable than C-x o.
Pops up a number in the top left of the window and you hit it to jump to it. If only two, C-o works as before.
https://github.com/abo-abo/ace-window
I have never used more than like 5 windows and only for a short time. I guess it doesn't work past 10 but that's gotta be enough for anyone...
Sure, but that's like ... what? Half the screen in the best case scenario?
The other half is whitespace, so it makes sense to see the rest of that file in the other half.
I think my big problem is: I need a native terminal program, and I'm almost always using a terminal for something while I'm using Emacs. Which means I can't dedicate a whole screen to Emacs.