A geração da agenda de hoje no Org-Mode ( C-c a a
) abre os arquivos org-agenda-files
. Não quero que o Emacs abra esses buffers extras.
Existe uma maneira fácil de dizer ao Emacs para não abrir esses buffers? (ou o que é o mesmo, para fechá-los automaticamente se eles não estivessem abertos antes de chamar a agenda?).
ATUALIZAR:
Esta é uma versão mais compacta da solução fornecida pelo @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)
Lamentavelmente, isso ainda não é perfeito, pois agora, clicar em um evento na agenda não abre o arquivo organizacional correspondente.