Some users prefers multiple frames, others multiple windows in a full-screen frame. Could you, please, briefly describe what kind of behavior you are truing to achieve?
My thought is that I have a perfectly good window manager that allows me to manage Emacs frames. This removes the need for things to improve window switching (such as winner, which I used previously). Popping up frames to show multiple things at the same time integrates well with my WM, and doesn't force me to remap things like `C-x o`, which I find cumbersome to use. There are packages that make window switching easier, but I've already configured my window manager. Thus, I prefer to have my window manager manage Emacs frames, instead of adding yet another way to switch between multiple things being displayed at the same time, which I would have to do using Emacs windows.
My current configuration is as follows:
(setq display-buffer-base-action '((display-buffer-reuse-window display-buffer-pop-up-frame)
(reusable-frames . 0)))
(setq display-buffer-alist
`(("\\*Packages\\*" display-buffer-pop-up-frame)
("\\*stdin.*\\*" display-buffer-same-window)
("\\*Help\\*" display-buffer-pop-up-frame)
("\\*.*\\*" display-buffer-pop-up-window)))This allows me to pop up normal frames for regular buffers, and have special buffers pop up in windows to fix the "focus stealing" behavior mentioned above.
The central problem with popping up frames is focus stealing:
Things such as undo-tree or embark don't deal well with having the
focus stolen from the current buffer by a new frame, which is why
I needed to configure `display-buffer-alist`.
Some Org buffers, in my opinion, should behave similarly to completion list. On the other hand `minibuffer-completion-help' does not use `display-buffer-overrining-action'. I do not like that this variable has higher priority than `display-buffer-alist'. Action argument of `display-buffer' is more appropriate since it keeps ability to customize placement of buffers with particular names through `display-buffer-alist'.
I don't fully understand the `display-buffer-alist` definition, and copied mostly from the documentation examples.
I hope this helps.
Best regards,
Jan
PS: Sorry for the empty mail I sent previously.