Thanks Eric and Max! > On Wednesday, 13 Oct 2021 at 19:23, Max Nikulin wrote: >> Does someone have settings that pins help buffer to particular >> window/frame of location in a frame (e.g. bottom of "sidebar")? > > This is what I use, which is slightly more complex because I have a wide > landscape monitor and a tall portrait one and want different behaviour > in each: > > #+begin_src emacs-lisp > (defun esf/display-buffer-in-side-window (buffer alist) > (let ((fw (/ 80.0 (frame-width)))) > (display-buffer-in-side-window buffer > (if (> (frame-width) 120) > (list (cons 'window-width fw) > '(side . left) > '(slot . 0)) > '((window-height . 0.25) > (side . bottom) > (slot . 0)))))) > (setq display-buffer-alist > '(("^\\*Async Shell Command*" . (display-buffer-no-window)) > ("^magit-[a-z]+: " . (esf/display-buffer-in-side-window)) > ("\\*\\(Backtrace\\|Compile-Log\\|DICT > .*\\|grep\\|[Hh]elp.*\\|Messages\\|Occur\\|tex-shell\\|vc-\\(diff\\|change-log\\)\\|Warnings\\|WoMan > .*\\)\\*" > (esf/display-buffer-in-side-window)))) > #+end_src > > This doesn't pin to a specific frame but does make the pop-ups appear in > the same place always in each respectively frame. By the way, I use > exwm so I have one frame per monitor, full screen, generally.
Thanks for the example and the implied teaching! I experimented with the use of display-buffer-alist and the org-goto UI. E.g. with the config: (defun experiment/202110141141 (buffer alist) (display-buffer-in-side-window buffer (list '(window-width . 23) '(side . right) '(slot . 0)))) (setq display-buffer-alist '(("\\*Org Help\\*" . (experiment/202110141141)))) AFAICS this has an effect for org-goto. The user can control the appearance of the org-goto UI. BTW I think the name *Org Help* for the UI buffer could be better. Since org-goto in main is still broken I'll commit the fix for org-goto which kicks out the use of the macro org-no-popups (but not the macro itself since it's used elsewhere AFAICS.) Max, Ihor! If you see the necessity of refinement please keep going! Best regards, -- Marco