Tweak org todo sequences

This commit is contained in:
Nathan McCarty 2022-09-13 22:11:06 -04:00
parent 72b38b9127
commit 5c34c36025
Signed by: thatonelutenist
GPG Key ID: D70DA3DD4D1E9F96
2 changed files with 81 additions and 3 deletions

View File

@ -246,8 +246,45 @@ work if it thinks it needs to."
(after! org (after! org
(setq org-log-into-drawer t (setq org-log-into-drawer t
org-log-refile 'time
org-log-repeat 'time
org-log-reschedule 'time
org-log-done 'time)) org-log-done 'time))
(after! org
(setq org-todo-keywords
'((sequence
"TODO(t)" ; A task that needs doing & is ready to do
"PROJ(p)" ; A project, which usually contains other tasks
"LOOP(r)" ; A recurring task
"STRT(s!)" ; A task that is in progress
"WAIT(w!)" ; Something external is holding up this task
"HOLD(h!)" ; This task is paused/on hold because of me
"IDEA(i)" ; An unconfirmed and unapproved task or notion
"|"
"DONE(d!)" ; Task successfully completed
"KILL(k!)") ; Task was cancelled, aborted or is no longer applicable
(sequence
"[ ](T)" ; A task that needs doing
"[-](S!)" ; Task is in progress
"[?](W!)" ; Task is being held up or paused
"|"
"[X](D!)") ; Task was completed
(sequence
"|"
"OKAY(o!)"
"YES(y!)"
"NO(n!)"))
org-todo-keyword-faces
'(("[-]" . +org-todo-active)
("STRT" . +org-todo-active)
("[?]" . +org-todo-onhold)
("WAIT" . +org-todo-onhold)
("HOLD" . +org-todo-onhold)
("PROJ" . +org-todo-project)
("NO" . +org-todo-cancel)
("KILL" . +org-todo-cancel))))
(use-package! org-roam (use-package! org-roam
:custom :custom
(org-roam-directory (concat org-directory "Roam/")) (org-roam-directory (concat org-directory "Roam/"))
@ -523,6 +560,7 @@ independent key tables."
'((:maildir "/nathan@mccarty.io/Folders/Notifications/Github" :key ?h) '((:maildir "/nathan@mccarty.io/Folders/Notifications/Github" :key ?h)
(:maildir "/nathan@mccarty.io/Folders/Notifications/Gitlab" :key ?l) (:maildir "/nathan@mccarty.io/Folders/Notifications/Gitlab" :key ?l)
(:maildir "/nathan@mccarty.io/Folders/Notifications/SourceHut" :key ?s) (:maildir "/nathan@mccarty.io/Folders/Notifications/SourceHut" :key ?s)
(:maildir "/nathan@mccarty.io/Folders/Mailing Lists/Lobsters" :key ?a)
(:maildir "/nathan@mccarty.io/Folders/Archival/Receipts/2022" :key ?r) (:maildir "/nathan@mccarty.io/Folders/Archival/Receipts/2022" :key ?r)
(:maildir "/nathan@mccarty.io/Folders/Job Search" :key ?j) (:maildir "/nathan@mccarty.io/Folders/Job Search" :key ?j)
(:maildir "/nathan@mccarty.io/Folders/Archival/Informed Delivery" :key ?i)))) (:maildir "/nathan@mccarty.io/Folders/Archival/Informed Delivery" :key ?i))))

View File

@ -342,13 +342,52 @@ work if it thinks it needs to."
;; This method sets up the timer on its own ;; This method sets up the timer on its own
(nm/org-agenda-refresh-conditional)) (nm/org-agenda-refresh-conditional))
#+end_src #+end_src
** Log state changes and setup TODO keywords
Log state changes into a drawer Configure the logging, we want to log into a drawer and also log refiles, reschedules, and repeats
#+begin_src emacs-lisp #+begin_src emacs-lisp
(after! org (after! org
(setq org-log-into-drawer t (setq org-log-into-drawer t
org-log-refile 'time
org-log-repeat 'time
org-log-reschedule 'time
org-log-done 'time)) org-log-done 'time))
#+end_src #+end_src
We'll need to override the doom provided ~org-todo-keywords~ to get the state transitions we want logged
#+begin_src emacs-lisp
(after! org
(setq org-todo-keywords
'((sequence
"TODO(t)" ; A task that needs doing & is ready to do
"PROJ(p)" ; A project, which usually contains other tasks
"LOOP(r)" ; A recurring task
"STRT(s!)" ; A task that is in progress
"WAIT(w!)" ; Something external is holding up this task
"HOLD(h!)" ; This task is paused/on hold because of me
"IDEA(i)" ; An unconfirmed and unapproved task or notion
"|"
"DONE(d!)" ; Task successfully completed
"KILL(k!)") ; Task was cancelled, aborted or is no longer applicable
(sequence
"[ ](T)" ; A task that needs doing
"[-](S!)" ; Task is in progress
"[?](W!)" ; Task is being held up or paused
"|"
"[X](D!)") ; Task was completed
(sequence
"|"
"OKAY(o!)"
"YES(y!)"
"NO(n!)"))
org-todo-keyword-faces
'(("[-]" . +org-todo-active)
("STRT" . +org-todo-active)
("[?]" . +org-todo-onhold)
("WAIT" . +org-todo-onhold)
("HOLD" . +org-todo-onhold)
("PROJ" . +org-todo-project)
("NO" . +org-todo-cancel)
("KILL" . +org-todo-cancel))))
#+end_src
** org-roam ** org-roam
A second brain in emacs A second brain in emacs
@ -765,6 +804,7 @@ Setup the maildirs we want to see, we'll show our notifications
'((:maildir "/nathan@mccarty.io/Folders/Notifications/Github" :key ?h) '((:maildir "/nathan@mccarty.io/Folders/Notifications/Github" :key ?h)
(:maildir "/nathan@mccarty.io/Folders/Notifications/Gitlab" :key ?l) (:maildir "/nathan@mccarty.io/Folders/Notifications/Gitlab" :key ?l)
(:maildir "/nathan@mccarty.io/Folders/Notifications/SourceHut" :key ?s) (:maildir "/nathan@mccarty.io/Folders/Notifications/SourceHut" :key ?s)
(:maildir "/nathan@mccarty.io/Folders/Mailing Lists/Lobsters" :key ?a)
(:maildir "/nathan@mccarty.io/Folders/Archival/Receipts/2022" :key ?r) (:maildir "/nathan@mccarty.io/Folders/Archival/Receipts/2022" :key ?r)
(:maildir "/nathan@mccarty.io/Folders/Job Search" :key ?j) (:maildir "/nathan@mccarty.io/Folders/Job Search" :key ?j)
(:maildir "/nathan@mccarty.io/Folders/Archival/Informed Delivery" :key ?i)))) (:maildir "/nathan@mccarty.io/Folders/Archival/Informed Delivery" :key ?i))))