+ Defer replacement of 'size attribute in ALIST until popup opening
(makes :popup definitions a little faster).
+ Define/use +popup-define helper function (for internal use only!)
Some popups may retain their mode-line. Especially popups whose buffers
are displayed before their mode or content is inserted (maybe
asynchronously). This change tries to tackle that; ensuring that
mode-line setting is more consistent.
Initialization of the popup rules now happens later (on
doom-init-ui-hook). The two new options are:
+ +popup-enable-fallback-rules: the popup module defines two catch-all
fallback rules for buffers that match "^ \\*" and "^\\*". By setting
this option to nil, you can disable that behavior, in case you want to
set them yourself.
+ +popup-enable-default-rules: setting this to nil disable all default
popup rules for various essential Emacs and Doom buffers that should be
treated as popups.
Adds support for `slot` and `vslot`, allowing for two dimensional
control over where popups may spawn. Highly experimental.
It's upsetting that I have to set `window--sides-inhibit-check`, I'd
like to find a way around that, if possible.
Allows you to ignore certain buffers. Helpful for plugins that manage
their own windows, like magit.
To use:
(set! :popup "^\\*magit" :ignore)
Relevant to #337
Now, the transient, quit, select and modeline parameters now accept
a function FN. See `+popup-window-parameters` for details.
(transient . (FN popup-buffer))
(quit . (FN popup-window))
(select . (FN popup-window))
(modeline . (FN popup-buffer))
+ map-delete is shorter and faster than assq-delete-all
+ map-put is simpler than the delete-then-set workflow
+ map-merge is great for merging default and user settings
+ Fix list where cons should be
+ Update +popup-window-parameters docstring
+ Use display-buffer instead of +popup-buffer (no need to remember
alist). This ensures restored popups (with +popup/restore) are truly
identical to their former selves.
This is a breaking change! Update your :popup settings. Old ones will
throw errors!
Doom's new popup management system casts off its shackles (hur hur) and
replaces them with the monster that is `display-buffer-alist`, and
window parameters.
However, this is highly experimental! Expect edge cases. Particularly
with org-mode and magit (or anything that does its own window
management).
Relevant to #261, #263, #325