diff --git a/modules/ui/popup/+hacks.el b/modules/ui/popup/+hacks.el index 2174a3eb1..444777c93 100644 --- a/modules/ui/popup/+hacks.el +++ b/modules/ui/popup/+hacks.el @@ -168,7 +168,7 @@ the command buffer." ;; `helm' (after! helm - (setq helm-default-display-buffer-functions '(+popup-display-buffer)) + (setq helm-default-display-buffer-functions '(+popup-display-buffer-stacked-side-window)) (set-popup-rule! "^\\*helm" :ignore t)) @@ -260,13 +260,13 @@ instead of switch-to-buffer-*." ;; `pdf-tools' (after! pdf-tools (setq tablist-context-window-display-action - '((+popup-display-buffer) + '((+popup-display-buffer-stacked-side-window) (side . left) (slot . 2) (window-height . 0.3) (inhibit-same-window . t)) pdf-annot-list-display-buffer-action - '((+popup-display-buffer) + '((+popup-display-buffer-stacked-side-window) (side . left) (slot . 3) (inhibit-same-window . t))) @@ -290,7 +290,7 @@ instead of switch-to-buffer-*." (lambda (act-popup-dim) (cl-letf (((symbol-function 'display-buffer-in-side-window) (lambda (buffer alist) - (+popup-display-buffer + (+popup-display-buffer-stacked-side-window buffer (append '((vslot . -9999)) alist))))) (which-key--show-buffer-side-window act-popup-dim)))) diff --git a/modules/ui/popup/autoload/popup.el b/modules/ui/popup/autoload/popup.el index 7fd12b176..1da49a664 100644 --- a/modules/ui/popup/autoload/popup.el +++ b/modules/ui/popup/autoload/popup.el @@ -574,10 +574,10 @@ and may be called only if no window on SIDE exists yet." (advice-add #'window--sides-check :override #'ignore)) ;;;###autoload -(defun +popup-display-buffer (buffer alist) +(defun +popup-display-buffer-stacked-side-window (buffer alist) "A `display-buffer' action that serves as an alternative to -`display-buffer-in-side-window', but allows for stacking popups not only -laterally with the `vslot' alist entry. +`display-buffer-in-side-window', but allows for stacking popups with the `vslot' +alist entry. Accepts the same arguments as `display-buffer-in-side-window'. You must set `window--sides-inhibit-check' to non-nil for this work properly." diff --git a/modules/ui/popup/config.el b/modules/ui/popup/config.el index 56b7ea365..579cfd51c 100644 --- a/modules/ui/popup/config.el +++ b/modules/ui/popup/config.el @@ -79,7 +79,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 +popup-display-buffer) + '(display-buffer-reuse-window +popup-display-buffer-stacked-side-window) "The functions to use to display the popup buffer.") (defvar +popup-default-alist