org-mode – no mantenga abiertos los archivos de la agenda de la organización después de generar la agenda

Pregunta:

Al generar la agenda de hoy en Org-Mode ( Cc aa ) se abren los archivos en org-agenda-files . No quiero que Emacs abra estos búferes adicionales.

¿Existe una manera fácil de decirle a Emacs que no abra estos búferes? (o lo que es lo mismo, ¿cerrarlos automáticamente si no estaban abiertos antes de llamar a la agenda?).

ACTUALIZAR:

Esta es una versión más compacta de la solución proporcionada por @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)

Lamentablemente, esto todavía no es perfecto, ya que ahora al hacer clic en un evento en la agenda no se abre el archivo de organización correspondiente.

Respuesta:

Quiere org-agenda-exit , convenientemente enlazado ax de forma predeterminada en la vista de agenda

Como `org-agenda-Quit ', pero elimina los búferes creados por la agenda. Los búferes de organización visitados directamente por el usuario no se tocarán.

Encontré esto usando describe-mode .

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım