fix: Repls finally respect popup rules TwT

- Required patching on.el to run their hooks at the correct time.
This commit is contained in:
Madeleine Sydney
2025-01-30 05:51:25 -07:00
parent d4c686ab65
commit c05b7f456d
7 changed files with 191 additions and 99 deletions

View File

@@ -76,21 +76,23 @@ adjustment.")
:init-value nil
:global t
:keymap doom-popup-mode-map
(cond (doom-popup-mode
(add-hook 'doom-escape-hook #'doom-popup-close-on-escape-h 'append)
(setq doom-popup--old-display-buffer-alist display-buffer-alist
display-buffer-alist doom-popup--display-buffer-alist
window--sides-inhibit-check t)
(dolist (prop doom-popup-window-parameters)
(push (cons prop 'writable) window-persistent-parameters)))
(t
(remove-hook 'doom-escape-hook #'doom-popup-close-on-escape-h)
(setq display-buffer-alist doom-popup--old-display-buffer-alist
window--sides-inhibit-check nil)
(doom-popup-cleanup-rules-h)
(dolist (prop doom-popup-window-parameters)
(delq (assq prop window-persistent-parameters)
window-persistent-parameters)))))
(progn
(message "doom-popup-mode: %S" doom-popup-mode)
(cond (doom-popup-mode
(add-hook 'doom-escape-hook #'doom-popup-close-on-escape-h 'append)
(setq doom-popup--old-display-buffer-alist display-buffer-alist
display-buffer-alist doom-popup--display-buffer-alist
window--sides-inhibit-check t)
(dolist (prop doom-popup-window-parameters)
(push (cons prop 'writable) window-persistent-parameters)))
(t
(remove-hook 'doom-escape-hook #'doom-popup-close-on-escape-h)
(setq display-buffer-alist doom-popup--old-display-buffer-alist
window--sides-inhibit-check nil)
(doom-popup-cleanup-rules-h)
(dolist (prop doom-popup-window-parameters)
(delq (assq prop window-persistent-parameters)
window-persistent-parameters))))))
(define-minor-mode doom-popup-buffer-mode
"Minor mode for individual popup windows.

View File

@@ -191,7 +191,7 @@ used.
(setq display-buffer-alist doom-popup--display-buffer-alist))
doom-popup--display-buffer-alist)
;;;###autodef
;;;###autoload
(defun set-popup-rules! (&rest rulesets)
"Defines multiple popup rules.

View File

@@ -25,15 +25,6 @@
(require 'doom-popup-settings)
(use-package popper
:custom ((popper-display-control nil)
(popper-reference-buffers
(list (lambda (buf)
(with-current-buffer buf
(bound-and-true-p doom-popup-mode))))))
:config
(popper-mode 1))
(defvar doom-popup--internal nil)
(defun doom-popup--remember (windows)