diff options
| author | Raul Benencia <id@rbenencia.name> | 2026-05-01 10:37:39 -0700 |
|---|---|---|
| committer | Raul Benencia <id@rbenencia.name> | 2026-05-01 10:39:08 -0700 |
| commit | 5b46ed4306e0404b40622b0a67336c26689f44f5 (patch) | |
| tree | c035f937020b85417ed0ae3ba816cfb30fc97c33 | |
| parent | 47bd2b74000d761e938da20a4ad7d735478d2194 (diff) | |
emacs: save files after marking them as done in org-agenda
| -rw-r--r-- | .emacs.d/rul-emacs.org | 7 | ||||
| -rw-r--r-- | .emacs.d/rul-lisp/packages/rul-org-agenda.el | 7 |
2 files changed, 14 insertions, 0 deletions
diff --git a/.emacs.d/rul-emacs.org b/.emacs.d/rul-emacs.org index 04e3d50..b12e34b 100644 --- a/.emacs.d/rul-emacs.org +++ b/.emacs.d/rul-emacs.org @@ -1236,6 +1236,13 @@ My org mode configuration is quite big, so I split it across multiple files. (global-set-key (kbd "<f12>") #'org-agenda) (global-set-key (kbd "C-c a") #'org-agenda) +(defun rul-org-agenda-save-after-todo (&rest _) + "Save Org buffers after changing a TODO state from agenda." + (org-save-all-org-buffers)) + +(with-eval-after-load 'org-agenda + (advice-add 'org-agenda-todo :after #'rul-org-agenda-save-after-todo)) + (defun bh/is-project-p () "Any task with a todo keyword subtask" (save-restriction diff --git a/.emacs.d/rul-lisp/packages/rul-org-agenda.el b/.emacs.d/rul-lisp/packages/rul-org-agenda.el index 719d4e6..9d249f9 100644 --- a/.emacs.d/rul-lisp/packages/rul-org-agenda.el +++ b/.emacs.d/rul-lisp/packages/rul-org-agenda.el @@ -4,6 +4,13 @@ (global-set-key (kbd "<f12>") #'org-agenda) (global-set-key (kbd "C-c a") #'org-agenda) +(defun rul-org-agenda-save-after-todo (&rest _) + "Save Org buffers after changing a TODO state from agenda." + (org-save-all-org-buffers)) + +(with-eval-after-load 'org-agenda + (advice-add 'org-agenda-todo :after #'rul-org-agenda-save-after-todo)) + (defun bh/is-project-p () "Any task with a todo keyword subtask" (save-restriction |
