org-agenda-window-setup = popup-window

This is a custom setting that allows org agenda windows to be managed by
Doom's popup manager.
This commit is contained in:
Henrik Lissner 2019-01-30 17:23:00 -05:00
parent bd9df22f99
commit 4132be4208
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395

View file

@ -266,14 +266,15 @@ instead of switch-to-buffer-*."
(advice-add #'org-switch-to-buffer-other-window :around #'+popup*org-pop-to-buffer)
;; `org-agenda'
(setq org-agenda-window-setup 'other-window
(setq org-agenda-window-setup 'popup-window
org-agenda-restore-windows-after-quit nil)
;; Don't monopolize frame!
;; Don't monopolize the frame!
(defun +popup*org-agenda-suppress-delete-other-windows (orig-fn &rest args)
(cond ((not +popup-mode)
(apply orig-fn args))
((eq org-agenda-window-setup 'popup-window)
(let (org-agenda-restore-windows-after-quit)
(let ((org-agenda-window-setup 'other-window)
org-agenda-restore-windows-after-quit)
(cl-letf (((symbol-function 'delete-other-windows)
(symbol-function 'ignore)))
(apply orig-fn args))))