I like using the following setup for development:
+--------+---------------------------------+
| . | |
| | Python or JS |
| Dired+ | buffer |
| | (with centaur-tabs) |
| | |
| +---------------------------------+
| . | Shell, Eshell, or iPython |
+------------------------------------------+
I'm looking for ways to make this setup more "static" and intuitive. By "static", I mean that, for instance, I'd like the Shell and the Dired buffer not to be replaced nor resized by any action.
Here are examples of problematic use cases that I'm trying to solve:
when I open a file from the Dired+ buffer, with
o
, I want it opened on the top right window. By default, one time out of two, it gets opened in the "Shell" window, sometimes resizing it at the same time. I don't want that. I found a hack at the post Controlling window locations fo files visited by Dired, but it only works as long as the file in question is above the frame separation on the left (e.g. it works for the first point on the picture above, not for the second)When I do
C-h m
, I'd like the *Help* buffer to always open in the largest window;When using Magit, I'd like the Magit buffer to alway appear in the largest window.
Can anyone suggest a way to solve these problems, or, in a broader sense, an efficient way to use this configuration on Emacs?