+ ~CONDITION~ can be a function or regexp string. If the function returns
non-nil, or the regexp string matches the buffer's name, it will be opened in
a popup window.
+ ~ALIST~ dictates the characteristics of the popup, such as what side to spawn
it on and what size to make it. See ~display-buffer~'s documentation to see
what parameters are supported.
This supports one custom parameter: ~size~, which will map to ~window-width~
or ~window-height~ depending on what ~side~ you (or the defaults) specify.
+ ~PARAMETERS~ dictate what window parameters are set on the popup window. See
~+popup-window-parameters~'s documentation and the [[https://www.gnu.org/software/emacs/manual/html_node/elisp/Window-Parameters.html#Window-Parameters][Window Parameters section
of the Emacs manual]] for what parameters are supported.
This supports four custom parameters: =transient=, =quit=, =select= and
=modeline=. For details on these, look at the documentation for
~+popup-window-parameters.~
Rules are added to ~display-buffer-alist~, which instructs ~display-buffer~
calls on how to set up windows for buffers that meet certain conditions.
#+begin_quote
The ~switch-to-buffer~ command (and its ~switch-to-buffer-*~ variants) are not
affected by ~display-buffer-alist~.
#+end_quote
Here are a couple example rules:
#+BEGIN_SRC emacs-lisp
(set! :popup "^ \\*") ; a fallback for special buffers