Minor refactor of popup rules logistics

This commit is contained in:
Henrik Lissner 2017-09-26 20:36:12 +02:00
parent ee1e9a853c
commit 86ff43c6cb
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395
2 changed files with 6 additions and 7 deletions

View file

@ -170,8 +170,8 @@ without leaving any trace behind (muahaha)."
`doom-popup-rules' always takes priority, but this will fall back to the popup `doom-popup-rules' always takes priority, but this will fall back to the popup
window parameter." window parameter."
(cond ((windowp window-or-buffer) (cond ((windowp window-or-buffer)
(or (doom-popup-properties (window-buffer window-or-buffer)) (or (window-parameter window-or-buffer 'popup)
(window-parameter window-or-buffer 'popup))) (doom-popup-properties (window-buffer window-or-buffer))))
((bufferp window-or-buffer) ((bufferp window-or-buffer)
(buffer-local-value 'doom-popup-rules window-or-buffer)))) (buffer-local-value 'doom-popup-rules window-or-buffer))))

View file

@ -32,7 +32,8 @@
"A list of open popup windows.") "A list of open popup windows.")
(defvar-local doom-popup-rules nil (defvar-local doom-popup-rules nil
"The shackle rule that caused this buffer to be recognized as a popup.") "The shackle rule that caused this buffer to be recognized as a popup. Don't
edit this directly.")
(defvar doom-popup-window-parameters (defvar doom-popup-window-parameters
'(:noesc :modeline :autokill :autoclose :autofit :static) '(:noesc :modeline :autokill :autoclose :autofit :static)
@ -157,9 +158,7 @@ for :align t on every rule."
:keymap doom-popup-mode-map :keymap doom-popup-mode-map
(let ((window (selected-window))) (let ((window (selected-window)))
;; If `doom-popup-rules' isn't set for some reason, try to set it ;; If `doom-popup-rules' isn't set for some reason, try to set it
(when-let (plist (and (not doom-popup-rules) (setq-local doom-popup-rules (doom-popup-properties window))
(window-parameter window 'popup)))
(setq-local doom-popup-rules (window-parameter window 'popup)))
;; Ensure that buffer-opening functions/commands (like ;; Ensure that buffer-opening functions/commands (like
;; `switch-to-buffer-other-window' won't use this window). ;; `switch-to-buffer-other-window' won't use this window).
(set-window-parameter window 'no-other-window doom-popup-mode) (set-window-parameter window 'no-other-window doom-popup-mode)
@ -533,7 +532,7 @@ that `doom*popup-save' won't break it."
(defun doom*persp-mode-restore-popups (&rest _) (defun doom*persp-mode-restore-popups (&rest _)
"Restore popup windows when loading a perspective from file." "Restore popup windows when loading a perspective from file."
(dolist (window (window-list)) (dolist (window (window-list))
(when-let (plist (window-parameter window 'popup)) (when-let (plist (doom-popup-properties window))
(with-selected-window window (with-selected-window window
(unless doom-popup-mode (unless doom-popup-mode
(setq-local doom-popup-rules plist) (setq-local doom-popup-rules plist)