From e1c7251a707471a41af2b8d254b4dd9c1dda1989 Mon Sep 17 00:00:00 2001 From: Emmet Date: Wed, 25 Oct 2023 20:48:30 -0500 Subject: [PATCH] I finally got agenda + syncthing to behave --- user/app/doom-emacs/config.el | 24 ++++++++++++++++++++++++ user/app/doom-emacs/doom.org | 24 ++++++++++++++++++++++++ 2 files changed, 48 insertions(+) diff --git a/user/app/doom-emacs/config.el b/user/app/doom-emacs/config.el index 20e972b..ac3ae7f 100644 --- a/user/app/doom-emacs/config.el +++ b/user/app/doom-emacs/config.el @@ -944,6 +944,30 @@ tasks." ;; Adds hook to org agenda mode, making follow mode active in org agenda (add-hook 'org-agenda-mode-hook 'org-agenda-open-hook) +;; Auto updates agenda on syncthing changes +;; from https://www.reddit.com/r/orgmode/comments/mu6n5b/org_agenda_auto_updating/ +(defadvice org-agenda-list (before refresh-org-agenda-on-revert activate) + (mapc (lambda (file) + (unless (verify-visited-file-modtime (get-file-buffer file)) + (with-current-buffer (get-file-buffer file) + (when (eq major-mode 'org-mode) + (revert-buffer nil 'noconfirm))))) + (org-agenda-files))) +(defadvice org-agenda-redo (before refresh-org-agenda-on-revert activate) + (mapc (lambda (file) + (unless (verify-visited-file-modtime (get-file-buffer file)) + (with-current-buffer (get-file-buffer file) + (when (eq major-mode 'org-mode) + (revert-buffer nil 'noconfirm))))) + (org-agenda-files))) +(defadvice org-agenda-redo-all (before refresh-org-agenda-on-revert activate) + (mapc (lambda (file) + (unless (verify-visited-file-modtime (get-file-buffer file)) + (with-current-buffer (get-file-buffer file) + (when (eq major-mode 'org-mode) + (revert-buffer nil 'noconfirm))))) + (org-agenda-files))) + ;; Function to list all my available org agenda files and switch to them (defun list-and-switch-to-agenda-file () "Lists all available agenda files and switches to desired one" diff --git a/user/app/doom-emacs/doom.org b/user/app/doom-emacs/doom.org index 04b7368..e9186bc 100644 --- a/user/app/doom-emacs/doom.org +++ b/user/app/doom-emacs/doom.org @@ -1097,6 +1097,30 @@ On Wayland, EAF doesn't work. ;; Adds hook to org agenda mode, making follow mode active in org agenda (add-hook 'org-agenda-mode-hook 'org-agenda-open-hook) +;; Auto updates agenda on syncthing changes +;; from https://www.reddit.com/r/orgmode/comments/mu6n5b/org_agenda_auto_updating/ +(defadvice org-agenda-list (before refresh-org-agenda-on-revert activate) + (mapc (lambda (file) + (unless (verify-visited-file-modtime (get-file-buffer file)) + (with-current-buffer (get-file-buffer file) + (when (eq major-mode 'org-mode) + (revert-buffer nil 'noconfirm))))) + (org-agenda-files))) +(defadvice org-agenda-redo (before refresh-org-agenda-on-revert activate) + (mapc (lambda (file) + (unless (verify-visited-file-modtime (get-file-buffer file)) + (with-current-buffer (get-file-buffer file) + (when (eq major-mode 'org-mode) + (revert-buffer nil 'noconfirm))))) + (org-agenda-files))) +(defadvice org-agenda-redo-all (before refresh-org-agenda-on-revert activate) + (mapc (lambda (file) + (unless (verify-visited-file-modtime (get-file-buffer file)) + (with-current-buffer (get-file-buffer file) + (when (eq major-mode 'org-mode) + (revert-buffer nil 'noconfirm))))) + (org-agenda-files))) + #+END_SRC *** Org Agenda Convenience Functions #+BEGIN_SRC emacs-lisp :tangle config.el