There was no way to customize doom-fringe-size. Better to customize
fringes by using fringe-mode, {left,right}-fringe-width or
set-window-fringes directly.
+ 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!)
Occasionally, a keyboard-quit bubbles up from popup's buffer cleanup
process, causing all kinds of havoc; like killed term buffers (#436),
abrupt interrupting of the minibuffer, and the point jumping around.
This tries to fix this, but needs more testing!
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.
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.
This is experimental and disabled by default. It uses a slightly more
primitive backend that will stack popups away from the edge of the
frame. This will need more work to take window-slot into account.
To use it:
(remove-hook '+popup-display-buffer-actions 'display-buffer-in-side-window)
(add-hook '+popup-display-buffer-actions #'+popup-display-buffer t)
A buffer can find other, unexpected ways to kill itself, so we set up
a kill-buffer-hook to make sure we're there to catch them. Not all
heroes wear capes.
The window parameters of popup windows weren't being set in Emacs 25.x. Turns
out `display-buffer-alist`'s ALIST argument didn't support the
windows-parameters alist entry until Emacs 26.
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.