Spool Five

Org Agenda

As with many features of org/emacs, it can be a bit intimidating at first. However, if you spend about 30 minutes digging into it, it becomes much simpler. Or, at least, it can be as simple or as complicated as you need it to be.

Org contains a list of org-agenda-files. These files are parsed for things like tags, TODO states, dates, etc., and then can be presented in the Agenda Buffer(view). The default agenda view is the days of the week with any scheduled tasks. It is also possible to create custom agenda views. Here is the code for my custom agenda, based on the Getting Things Done workflow:

(setq gtd/next-action-head "Next actions"
    gtd/waiting-head "Waiting on"
    gtd/project-head "Projects"
    gtd/shop-head "Shopping"
    gtd/someday-head "Someday/maybe")

(setq org-agenda-custom-commands
    ("g" "GTD view"
    (todo "TT" ((org-agenda-overriding-header gtd/next-action-head)))
    (agenda "" ((org-agenda-span 'day)
    (org-agenda-start-day 'nil))) ;; this is needed because doom-emacs starts agenda with day set to -3d
    (todo "PROJ" ((org-agenda-overriding-header gtd/project-head)))
    (todo "WAIT" ((org-agenda-overriding-header gtd/waiting-head)))
    (todo "BUY"  ((org-agenda-overriding-header gtd/shop-head)))
    (todo "SOMEDAY" ((org-agenda-overriding-header gtd/someday-head)))))))

Using this, any items I mark with TT (Todo - ‘Ticket’), Proj (Project), WAIT (A task waiting on something/someone else), BUY (shopping lists), SOMEDAY (future projects), will appear in the relevant sections on the agenda view, along with the tasks marked for that day.

Links to this note