mirror of
https://github.com/doomemacs/doomemacs
synced 2025-08-01 12:17:25 -05:00
popups: handle :autokill in a kill-buffer-query-fn
This commit is contained in:
@ -413,12 +413,4 @@ properties."
|
||||
(when (doom-popup-p window)
|
||||
(setq doom-popup-windows (delq window doom-popup-windows))
|
||||
(when doom-popup-remember-history
|
||||
(setq doom-popup-history (list (doom--popup-data window))))
|
||||
(let ((autokill-p (and (not doom-popup-inhibit-autokill)
|
||||
(doom-popup-property :autokill window))))
|
||||
(with-selected-window window
|
||||
(doom-popup-mode -1)
|
||||
(when autokill-p
|
||||
(when-let* ((process (get-buffer-process (current-buffer))))
|
||||
(set-process-query-on-exit-flag process nil))
|
||||
(kill-buffer (current-buffer)))))))
|
||||
(setq doom-popup-history (list (doom--popup-data window))))))
|
||||
|
@ -149,6 +149,16 @@ recognized by DOOM's popup system. They are:
|
||||
(cons '(doom-display-buffer-condition doom-display-buffer-action)
|
||||
display-buffer-alist)))
|
||||
|
||||
(defun doom|autokill-popups ()
|
||||
(or (not (doom-popup-p))
|
||||
(prog1 (when (and (not doom-popup-inhibit-autokill)
|
||||
(plist-get doom-popup-rules :autokill))
|
||||
(doom-popup-mode -1)
|
||||
(when-let* ((process (get-buffer-process (current-buffer))))
|
||||
(set-process-query-on-exit-flag process nil))
|
||||
t))))
|
||||
(add-hook 'kill-buffer-query-functions #'doom|autokill-popups)
|
||||
|
||||
;; no modeline in popups
|
||||
(add-hook 'doom-popup-mode-hook #'doom|hide-modeline-in-popup)
|
||||
;; ensure every rule without an :align, :same or :frame property has an
|
||||
|
Reference in New Issue
Block a user