In a 2 window setup, is there a way to make all temporary popup buffers (help, compile, occur, etc) always open in a specific window?
For example, I have a left and right window. I do most of my work in the left window. When I lookup something in help it opens in the right window which is what I want.
But let’s say I’m in the right window already and look up help, it will open in the left window. Is there a way to make it always open in the right?
Customize
display-buffer-alist
to your liking. There is an Emacs manual section devoted to it as well as several online tutorials.The
display-buffer-reuse-mode-window
action may be convenient for this use-case.Many of your modes-of-interest will be derivatives of
special-mode
so you may (or may not) find that specifying that as a catch-all is particularly useful.
Not sure your definition of easy, but this kind of setup (and much more) is certainly possible: https://www.masteringemacs.org/article/demystifying-emacs-window-manager
I am looking for something similar, I also do my edits in the left window, if I open a read-only buffer (man page, help, helpfull, info …) I would prefer it will always open on the right side. I can’t help you, but I hope someone else can.
Thank you all for tips. My elisp skills are pretty poor so I’m having trouble figuring out how to make this work, even copying examples online. For example:
(add-to-list 'display-buffer-alist '("*help*" (display-buffer-reuse-window) (display-buffer-in-side-window . ((side . right) (window-width . 0.5))))) (add-to-list 'display-buffer-alist '("*info*" (display-buffer-reuse-window) (display-buffer-in-side-window . ((side . right) (window-width . 0.5)))))
With that in my init.el, if I open emacs and look up “help” it creates a new window on the right, which is the default behavior so I can’t say for sure if the code is doing anything. If I select a link in the help file (like the manual) that opens “info” it opens it back in the left window.
What am I doing wrong here?