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.
HTH,
eric
--
: Eric S Fraga via Emacs 28.0.60, Org release_9.5-93-gd87250
: Latest paper written in org: https://arxiv.org/abs/2106.05096