From 3dbf994871b6bb34fe62b287fea49e5e74302457 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Mon, 8 Jan 2018 20:42:41 -0500 Subject: [PATCH] lang/org: close agenda buffers after org-agenda Experimental. Running org-agenda would leave leftover open buffers, this hook cleans them up. --- modules/lang/org/config.el | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/modules/lang/org/config.el b/modules/lang/org/config.el index c6f3c8c31..84b6abd44 100644 --- a/modules/lang/org/config.el +++ b/modules/lang/org/config.el @@ -241,6 +241,14 @@ between the two." ;; Don't open separate windows (map-put org-link-frame-setup 'file 'find-file) + (defun +org|cleanup-agenda-files () + "Close leftover agenda buffers after they've been indexed by org-agenda." + (cl-loop for file in org-agenda-files + for buf = (get-file-buffer file) + if (and file (not (get-buffer-window buf))) + do (kill-buffer buf))) + (add-hook 'org-agenda-finalize-hook #'+org|cleanup-agenda-files) + ;; Let OS decide what to do with files when opened (setq org-file-apps `(("\\.org$" . emacs)