I’m starting to do more with org-agenda.
First, and most importantly – make my Agenda files under ~~/org~. My knowledge base is under ~~/org-kb~ – I have found having fewer files to search for agenda items is much faster
(setq org-agenda-files '("~/org/" "~/pDrive/org/tasks/"))
The idea behind the menu items come from https://joshrollinswrites.com/help-desk-head-desk/sub-menus-in-org/
It seems that Mr Rollins dived into the orgmode docs and found something good:
(setq org-capture-templates
'(("t" "Todo" )
("tw" "Well" entry (file+headline "~/org/WellDot.org" "Welldot Tasks")
"** TODO %?
:PROPERTIES:
:ID: %(shell-command-to-string \"uuidgen\"):CREATED: %U
%i
%a
:END:" :prepend t)
("tf" "Farwell" entry (file+headline "~/org/FarwellIrrigation.org" "Farwell Tasks")
"** TODO %?
:PROPERTIES:
:ID: %(shell-command-to-string \"uuidgen\"):CREATED: %U
%i
%a
:END:" :prepend t)
("tv" "VoterInformation" entry (file+headline "~/org/VoterInformation.org" "Farwell Tasks")
"** TODO %?
:PROPERTIES:
:ID: %(shell-command-to-string \"uuidgen\"):CREATED: %U
%i
%a
:END:" :prepend t)
("ts" "Shift Worship" entry (file+headline "~/org/ShiftTasks.org" "Shit Tasks")
"** TODO %?
:PROPERTIES:
:ID: %(shell-command-to-string \"uuidgen\"):CREATED: %U
%i
%a
:END:" :prepend t)
("tp" "Powerhouse" entry (file+headline "~/org/Powerhouse.org" "Powerhouse Tasks")
"** TODO %?
:PROPERTIES:
:ID: %(shell-command-to-string \"uuidgen\"):CREATED: %U
%i
%a
:END:" :prepend t)
("tt" "Misc" entry (file+headline "~/pdrive/org/tasks/task.org" "Tasks")
"** TODO %?
:PROPERTIES:
:ID: %(shell-command-to-string \"uuidgen\"):CREATED: %U
%i
%a
:END:" :prepend t)
("j" "Journal" entry (file+datetree "~/pdrive/org/tasks/journal.org")
"* %?
:PROPERTIES:
:ID: %(shell-command-to-string \"uuidgen\"):CREATED: %U
%i
%a
:END:" :prepend t)
("b" "Bookmark" entry (file+headline "~/pdrive/org/tasks/links.org" "Bookmarks")
"* %?\n:PROPERTIES:\n:CREATED: %U\n:END:\n\n" :empty-lines 1)
)
)
This is a odd combination between John Wigley’s sample file and this really thorough overview
Basically I made my own labels (well, jwigley did).
(setq org-todo-keyword-faces
'((
"TODO" :foreground "dark orange" :weight bold)
; ("EPIC" :foreground "deep sky blue" :weight bold)
; ("STORY" :foreground "royal blue" :weight bold)
;("RECUR" :foreground "cornflowerblue" :weight bold)
;("APPT" :foreground "light blue" :weight bold)
;("NOTE" :foreground "brown" :weight bold)
;("STARTED" :foreground "dark orange" :weight bold)
;("WAITING" :foreground "red" :weight bold)
;("DELEGATED" :foreground "dark violet" :weight bold)
;("DEFERRED" :foreground "dark violet" :weight bold)
;("SOMEDAY" :foreground "brown" :weight bold)
;("PROJECT" :foreground "#088e8e" :weight bold)
("DONE" :foreground "#088e8e" :weight bold)
;("TO-READ" :foreground "dark orange" :weight bold)
;("FINISHED" :foreground "royal blue" :weight bold)
)
)
(setq org-todo-keywords
'((sequence "TODO" "TO-READ" "|" "DONE" "READ"))
)
Using keywords from above, we can use org-super-agenda to make this really fancy
; this no workie
(require 'org-super-agenda)
(let ((org-super-agenda-groups
'(;; Each group has an implicit boolean OR operator between its selectors.
(:name "Today" ; Optionally specify section name
:time-grid t ; Items that appear on the time grid
:todo "TODAY") ; Items that have this TODO keyword
(:name "Important"
;; Single arguments given alone
:tag "bills"
:priority "A")
;; Set order of multiple groups at once
(:order-multi (2 (:name "Shopping in town"
;; Boolean AND group matches items that match all subgroups
:and (:tag "shopping" :tag "@town"))
(:name "Food-related"
;; Multiple args given in list with implicit OR
:tag ("food" "dinner"))
(:name "Space-related (non-moon-or-planet-related)"
;; Regexps match case-insensitively on the entire entry
:and (:regexp ("space" "NASA")
;; Boolean NOT also has implicit OR between selectors
:not (:regexp "moon" :tag "planet")))))
;; Groups supply their own section names when none are given
(:todo "WAITING" :order 8) ; Set order of this section
(:todo ("SOMEDAY" "TO-READ" "CHECK" "TO-WATCH" "WATCHING")
;; Show this group at the end of the agenda (since it has the
;; highest number). If you specified this group last, items
;; with these todo keywords that e.g. have priority A would be
;; displayed in that group instead, because items are grouped
;; out in the order the groups are listed.
:order 9)
(:priority<= "B"
;; Show this section after "Today" and "Important", because
;; their order is unspecified, defaulting to 0. Sections
;; are displayed lowest-number-first.
:order 1)
;; After the last group, the agenda will display items that didn't
;; match any of these groups, with the default order position of 99
)))
(org-agenda nil "a"))
Got this from the Org Worg
(setq org-agenda-custom-commands
'(
("w" "Well Tasks" tags-todo "well"
((org-agenda-files '("~/org/" "~/pDrive/org/tasks/task.org"))
(org-agenda-sorting-strategy '(priority-up effort-down)))
("~/org/wellco.html"))
("p" "Powerhouse" tags-todo "powerhouse"
((org-agenda-files '("~/org/" "~/pDrive/org/tasks/task.org"))
(org-agenda-sorting-strategy '(priority-up effort-down)))
("~/org/powerhouse.html"))
("v" "VoterInformation" tags-todo "vip"
((org-agenda-files '("~/org/" "~/pDrive/org/tasks/task.org"))
(org-agenda-sorting-strategy '(priority-up effort-down)))
("~/org/voterinformation.html"))
("s" "Shift" tags-todo "shift"
((org-agenda-files '("~/org/" "~/pDrive/org/tasks/task.org"))
(org-agenda-sorting-strategy '(priority-up effort-down)))
("~/org/shiftworship.html"))
))