feat(org): factor Org TODO groups into multiple agenda views

This commit is contained in:
Kiana Sheibani 2024-08-14 05:17:30 -04:00
parent 3e4287a405
commit eeb35292ab
Signed by: toki
GPG key ID: 6CB106C25E86A9F7

View file

@ -3644,38 +3644,44 @@ By customizing ~org-super-agenda-groups~ via a let-binding in my custom agenda v
(-interpose ", ")
(apply #'concat prefix))))
(defvar ~/org-todo-groups nil
"`org-super-agenda' groups for TODO entries of agenda.")
(after! org
(setq org-agenda-custom-commands
(setq ~/org-todo-groups
'((:name "Next/In Progress"
:todo ("NEXT" "STRT" "WAIT" "HOLD"))
(:name "Important"
:priority "A"
:order 1)
(:name "Goals"
:tag "goal"
:order 9)
(:name "Notes to Intake"
:tag "notes"
:order 10)
(:name "Assignments"
:tag "assign"
:order 2)
(:auto-map (lambda (item)
(~/org-agenda-section-by-link
"Goal: " "goal" item))
:order 3)
(:auto-map (lambda (item)
(~/org-agenda-section-by-link
"Area: " "area" item))
:order 4))
org-agenda-custom-commands
'(("o" "Overview"
((agenda "")
(alltodo ""
((org-super-agenda-groups
'((:name "Next/In Progress"
:todo ("NEXT" "STRT" "WAIT" "HOLD"))
(:discard
(:date t
:deadline t
:scheduled t))
(:name "Important"
:priority "A"
:order 1)
(:name "Goals"
:tag "goal"
:order 9)
(:name "Notes to Intake"
:tag "notes"
:order 10)
(:name "Assignments"
:tag "assign"
:order 2)
(:order-multi
(3
(:auto-map (lambda (item)
(~/org-agenda-section-by-link
"Goal: " "goal" item)))
(:auto-map (lambda (item)
(~/org-agenda-section-by-link
"Area: " "area" item))))))))))))))
(alltodo "" ((org-super-agenda-groups
(-insert-at 1 '(:discard
(:date t
:deadline t
:scheduled t))
~/org-todo-groups))))))
("g" "Grouped list of TODO entries"
alltodo "" ((org-super-agenda-groups ~/org-todo-groups))))))
#+end_src
This "overview" agenda command is very nice. It's so nice, in fact, that it's almost always the only agenda view I want to use! Having to go through the dispatcher every time I want to access it is annoying and unnecessary.