org-mode – ¿Cómo reconstruir los búferes de la agenda al guardar un búfer en modo organización?

Pregunta:

Al redactar mi programa semanal, me resulta algo discordante tener que cambiar al búfer de agenda en el otro marco y reconstruir, solo para ver cómo se alinean las cosas. Agregar org-agenda-redo a after-save-hook no parece funcionar. Tener la llamada de gancho (org-agenda-redo t) , que debería reconstruir TODOS los búferes de la agenda, tampoco parece funcionar.

Aquí hay una muestra del código que estoy usando:

(defun org-agenda-redo-all ()
  "Rebuild all agenda buffers"
  (org-agenda-redo t))

(add-hook 'org-mode-hook
          (lambda()
            (add-hook 'after-save-hook 'org-agenda-redo-all nil 'make-it-local)))

Según el búfer *Messages* , org-agenda-redo parece llamarse:

Saving file /home/mkaito/notes/agenda.org...
Wrote /home/mkaito/notes/agenda.org
Rebuilding agenda buffer...done

Pero el búfer de agenda en el otro marco no se actualiza.

Respuesta:

org-agenda-redo no reconstruye todos los búferes de la agenda, sino que reconstruye todas las vistas en el búfer actual. De la documentación Ch f org-agenda-redo RET

(org-agenda-redo y TODO opcional)

Reconstruir posiblemente TODAS las vistas de la agenda en el búfer actual.

Deberá recorrer manualmente todos los búferes de la agenda y reconstruirlos. A continuación se muestra uno de esos comandos

(defun my-redo-all-agenda-buffers ()
  (interactive)
  (dolist (buffer (buffer-list))
    (with-current-buffer buffer
      (when (derived-mode-p 'org-agenda-mode)
        (org-agenda-redo t)))))

Leave a Comment

Your email address will not be published. Required fields are marked *

web tasarım