Генерация сегодняшней повестки дня в Org-Mode ( C-c a a
) открывает файлы в org-agenda-files
. Я не хочу, чтобы Emacs открывал эти дополнительные буферы.
Есть ли простой способ сказать Emacs не открывать эти буферы? (или, что то же самое, автоматически закрывать их, если они не были открыты до вызова повестки дня?).
ОБНОВИТЬ:
Это более компактная версия решения, предоставляемого @lawlist:
(require 'dash)
(defun my-org-keep-quiet (orig-fun &rest args)
(let ((buffers-pre (-filter #'get-file-buffer (org-agenda-files))))
(apply orig-fun args)
(let* ((buffers-post (-filter #'get-file-buffer (org-agenda-files)))
(buffers-new (-difference buffers-post buffers-pre)))
(mapcar (lambda (file) (kill-buffer (get-file-buffer file))) buffers-new))))
(advice-add 'org-agenda-list :around #'my-org-keep-quiet)
(advice-add 'org-search-view :around #'my-org-keep-quiet)
(advice-add 'org-tags-view :around #'my-org-keep-quiet)
К сожалению, это все еще не идеально, так как теперь нажатие на событие в повестке дня не открывает соответствующий файл org.