When I'm editing a bunch of files in emacs, I like to use emacs --daemon, so I end up with a lot of frames open. The problem is when I try to switch buffers, via C-x b. I'm not sure exactly how it happens, but sometimes the next buffer will already be in a frame minimized in the background. In that case it puts the buffer I'm leaving into that frame, shoves the buffer down to the bottom of the buffer list, and makes me tab like crazy to get back to it. Then it happens to the second buffer, making me have to tab like crazy to get back to it.
It turns an efficient work cycle of "C-x b [edit] C-x b [edit]" into "C-x b [tabtabtabatbatbatbat] [enter] [edit] C-x b [tabtabtabatbatbabatbtba] [sigh] [enter] [edit]". The only solution I can find is to Alt-Tab around until I find the frame that's stealing these buffers, and close it. Until it just goes and happens again, and I want to strangle something.
What I want is... when I switch buffers with "C-x b" the buffer I leave should never get shuffled off into another open frame, but merely be no longer visible, staying at the top of the buffer list for the next "C-x b" to switch back to it. How would I do that?
frame-bufsby Alp Aker -- github.com/alpaker/Frame-Bufs -- which embeds a buffer-local list into the frame-parameter to associate select buffers with certain frames. To control what buffers get displayed in certain frames, take a look at How to intercept a file before it opens and decide which frame: stackoverflow.com/questions/18346785/… - lawlistframe-bufswithtabbar-- with an extra custom twist to dynamically add and remove select tabs of buffers on a frame-local basis: emacs.stackexchange.com/a/10112/2287 and all of that can be married with the concept in the second link of the comment above (to display a buffer in a particular frame). - lawlist