feature/popup: use new +popup-display-buffer #337

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 commit is contained in:
Henrik Lissner 2018-01-11 01:05:20 -05:00
parent 991297b8e7
commit bff48e5ed7
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395
3 changed files with 140 additions and 45 deletions

View file

@ -67,7 +67,7 @@ a brief description of some native window parameters that Emacs uses:
`pop-to-buffer'. Doom popups sets this. The default is nil.")
(defvar +popup-display-buffer-actions
'(display-buffer-reuse-window display-buffer-in-side-window)
'(display-buffer-reuse-window +popup-display-buffer)
"The functions to use to display the popup buffer.")
(defvar +popup-default-alist
@ -145,19 +145,19 @@ ALIST supports one custom parameter: `size', which will resolve to
;;
(eval-when-compile
(set! :popup "^ \\*" '((slot . -1) (size . +popup-shrink-to-fit)))
(set! :popup "^\\*" nil '((select . t)))
(set! :popup "^\\*Completions" '((slot . -1)) '((transient . 0)))
(set! :popup "^ \\*" '((slot . 1) (vslot . -1) (size . +popup-shrink-to-fit)))
(set! :popup "^\\*" '((slot . 1) (vslot . -1)) '((select . t)))
(set! :popup "^\\*Completions" '((slot . -1) (vslot . -2)) '((transient . 0)))
(set! :popup "^\\*Compilation" nil '((transient . 0) (quit . t)))
(set! :popup "^\\*\\(?:scratch\\|Messages\\)" nil '((transient)))
(set! :popup "^\\*Help"
'((slot . -1) (size . 0.2))
'((slot . 2) (vslot . 2) (size . 0.2))
'((select . t)))
(set! :popup "^\\*doom \\(?:term\\|eshell\\)"
'((size . 0.25))
'((quit) (transient . 0)))
(set! :popup "^\\*doom:"
'((size . 0.35))
'((size . 0.35) (side . top))
'((select . t) (modeline . t) (quit) (transient))))
(setq +popup--display-buffer-alist (eval-when-compile +popup--display-buffer-alist))