I use emacs in console mode (i.e. no mouse, one frame) with a fixed four window configuration:
+------+------+ | win | win | | 1 | 3 | +------+------+ | win | win | | 2 | 4 | +------+------+
Window 3 is my main editing window, I spend most of the time in that one. Windows 1 and 2 hold the same two buffers all the time, I rarely change into these windows because the buffers auto-update themselves and they contain read-only information. Windows 4 is my satellite window, and it's nice that most emacs commands that open a new buffer (e.g. grep, compilation commands, etc) show that new buffer always in Window 4. That makes life very easy because I bound F12 to jump directly between Window 3 and Window 4 and back.
The bad bloke is psvn.el. The svn-status buffer is always opened in Window 3, as desired.
But all other buffers (*svn-diff*, *svn-log*, ...) open randomly in Window 1, 2 or 3, and I can never predict in which one they'll open. Sometimes, the same buffer is even shown on two of those windows at the same time, and that's driving me mad!
How do I tell emacs/psvn to stop doing that? I tried all the usual measures (tweaking same-window-buffer-names, split-height-threshold, split-width-threshold, ...), but nothing's worked so far :-(
Please no solutions involving ecb.
psvn.el
and modify it (or create new functions) using thedisplay-buffer
family of functions. Here are links to two recent threads where I and other thread participants have given examples of how to display a particular buffer in a given window (or create a new window if it doesn't exist): stackoverflow.com/a/21544307/2112489 and stackoverflow.com/a/21591259/2112489 There are other alternatives, but nipping the bud at the source is my preferred way to handle things. – lawlistpop-to-buffer
-- you could replace those with your own display buffer function. You may need to adjust other portions of the code, but that is the general idea. – lawlist