There are many useful emacs commands that do things in the "other window" (like C-x C-b
to see the buffer list, or C-h a
to view available commands, or many others).
My problem: This does not seem to play well with using a number of carefully arranged windows in one frame, each showing specific content.
Anytime I use one of these "other window" commands, it replaces the content of some other window, which (1) might be too narrow to clearly show the information being displayed, and (2) might need to be manually "cleaned up" afterwards, by setting it back to its correct buffer. (And you'd better not check the buffer list when doing this, or you'll mess up yet another window!)
(Emacs does not even always use the same "other window", even when the commands are issued from the same window. For example, the C-x C-b
output might go into one "other" window while C-h a
shows its results in a different "other" window. Likewise, C-M-v
sometimes scrolls a different "other" window from that in which output just appeared.)
I would like a way to solve or work around this problem, such as:
I would really like to be able to specify a particular window to always be used as the "other window" for any window in that frame.
Failing that, perhaps there is a way to rearrange the window order and/or use invisible windows (if such exist) to get the effect of solution 1 by doing a lot of behind-the-scenes window shuffling, perhaps requiring an extra command to be entered before or preferably after the command that writes into an "other window".
Failing those, I would like a command that undoes the most recent buffer change in any window, so whatever window was used goes back to what it was showing just before it was used.
(Currently I use workgroups.el and I use a separate workgroup for checking the documentation, but this is clearly suboptimal. "Updating" the workgroup does not achieve solution 3, since it seems to only change the buffer back if it was a regular file.)
EDIT: I see this question is very similar to this similar question, but that question did not get the answer it was looking for. Since the ideal solution might not exist, I am explicitly interested in work-arounds as well.