cleaning up org agenda GTD style

This commit is contained in:
2025-07-04 10:18:54 -07:00
parent d90c60b847
commit ea5936a7bb

View File

@@ -90,53 +90,75 @@
(setq org-startup-folded t) (setq org-startup-folded t)
(setq org-indent-indentation-per-level 2) (setq org-indent-indentation-per-level 2)
(setq org-hide-emphasis-markers t) (setq org-hide-emphasis-markers t)
(setq org-agenda-files (setq org-agenda-files (directory-files-recursively "~/sync/org/agenda/" "\\.org$"))
'("~/sync/org/agenda/work.org" (setq org-agenda-todo-ignore-scheduled 'future)
"~/sync/org/agenda/personal.org"))
(require 'org-habit) (require 'org-habit)
(add-to-list 'org-modules 'org-habit) (add-to-list 'org-modules 'org-habit)
(setq org-habit-graph-column 60) (setq org-habit-graph-column 60)
(setq org-todo-keywords (setq org-todo-keywords
'((sequence "NEXT(n)" "TODO(t)" "|" "DONE(d!)") '((sequence "ALRT(a)" "EASY(e)" "PROG(p)" "NEXT(n)"
(sequence "ACTIVE(a)" "PROJ(p)" "READY(r)" "WAIT(w)" "HOLD(h)" "BACKLOG(b)" "|" "CANC(k@)"))) "TODO(t)" "|" "DONE(d)")))
(setq org-todo-keyword-faces (setq org-todo-keyword-faces
'(("NEXT" . "red") ("TODO" . "orange") ("WAIT" . "yellow") ("DONE" . "green"))) '(("ALRT" . (:foreground "Red" :weight bold))
("TODO" . (:foreground "Orange" :weight bold))
(setq org-refile-targets ("PROG" . (:foreground "DodgerBlue" :weight bold))
'(("archive.org" :maxlevel . 1) ("NEXT" . (:foreground "Purple" :weight bold))
("planner.org" :maxlevel . 1))) ("EASY" . (:foreground "MediumSeaGreen" :weight bold))
("DONE" . (:foreground "ForestGreen" :weight bold))))
;; Save Org buffers after refiling!
(advice-add 'org-refile :after 'org-save-all-org-buffers)
(add-hook 'org-mode-hook #'org-make-toc-mode) (add-hook 'org-mode-hook #'org-make-toc-mode)
(setq org-agenda-custom-commands (setq org-agenda-custom-commands
'(("d" "Custom Dashboard" '(("d" "GTD Dashboard"
;; NEXT items for today ;; Begin list of blocks:
((tags "+TODO=\"NEXT\"+SCHEDULED=\"<+0d>\"|+DEADLINE=\"<+0d>\"" (
((org-agenda-overriding-header "\nNEXT Items for Today\n"))) ; Show NEXT items scheduled or due today ;; 🚨 Urgent interruptions
;; TODO items for today (tags "+TODO=\"ALRT\""
(tags "+TODO=\"TODO\"+SCHEDULED=\"<+0d>\"|+DEADLINE=\"<+0d>\"" ((org-agenda-overriding-header "🚨 Urgent / Interruptions")))
((org-agenda-overriding-header "\nTODO Items for Today\n"))) ; Show TODO items scheduled or due today
;; DONE items for today ;; 🍃 Quick tasks
(tags "+TODO=\"EASY\""
((org-agenda-overriding-header "🍃 Quick tasks (≤15 min)")))
;; 🚧 In-progress items
(tags "+TODO=\"PROG\""
((org-agenda-overriding-header "🚧 In Progress")))
;; ▶ Next actions
(tags "+TODO=\"NEXT\""
((org-agenda-overriding-header "▶ Next Actions")))
;; 📝 Backlog items
(tags "+TODO=\"TODO\""
((org-agenda-overriding-header "📝 Backlog / To Plan")))
;; ✅ Completed recently
(tags "+TODO=\"DONE\"+CLOSED>=\"<-3d>\"" (tags "+TODO=\"DONE\"+CLOSED>=\"<-3d>\""
((org-agenda-overriding-header "\nDone Items for Today\n"))) ; Show DONE items closed today ((org-agenda-overriding-header "✅ Recently Done")))
;; Agenda for today
;; 📅 Todays schedule
(agenda "" (agenda ""
((org-agenda-span 1) ; Show only today ((org-agenda-span 1)
(org-agenda-start-day "0d") ; Start from today (org-agenda-start-day "0d")
(org-agenda-show-all-dates t) ; Ensure all dates are shown (org-agenda-show-all-dates t)
(org-agenda-overriding-header "\nAgenda (Today)\n"))) (org-agenda-overriding-header "📅 Todays Schedule")))
;; Agenda for next 3 days (no time grid)
;; 📆 Upcoming 3 days
(agenda "" (agenda ""
((org-agenda-span 3) ; Show the next 3 days ((org-agenda-span 3)
(org-agenda-start-day "+1d") ; Start from tomorrow (org-agenda-start-day "+1d")
(org-agenda-overriding-header "\nAgenda (Next 3 Days)\n") (org-agenda-overriding-header "📆 Next 3 Days")
(org-agenda-time-grid nil))))))) ; Remove time grid (org-agenda-time-grid nil)))
;; 📋 Catch-all TODO list
(alltodo ""
((org-agenda-overriding-header "📋 All Tasks")))
) ; End of block-list
) ; End of the "d" command entry
)) ; End of defcustom list
;; Create capture templates ;; Create capture templates
(setq org-capture-templates (setq org-capture-templates
@@ -144,9 +166,7 @@
("tw" "Work Task" entry (file+headline "~/sync/org/agenda/work.org" "Inbox") ("tw" "Work Task" entry (file+headline "~/sync/org/agenda/work.org" "Inbox")
"* TODO %?\n %U\n %i" :empty-lines 1) "* TODO %?\n %U\n %i" :empty-lines 1)
("tp" "Personal Task" entry (file+headline "~/sync/org/agenda/personal.org" "Inbox") ("tp" "Personal Task" entry (file+headline "~/sync/org/agenda/personal.org" "Inbox")
"* TODO %?\n %U\n %i" :empty-lines 1) "* TODO %?\n %U\n %i" :empty-lines 1)))
("tb" "Backlog Task" entry (file+headline "~/documents/org/agenda/todo.org" "Backlog")
"* BACKLOG %?\n %U\n %i" :empty-lines 1)))
;; Tell Org to stop indenting inside of org source blocks. ;; Tell Org to stop indenting inside of org source blocks.
(setq org-edit-src-content-indentation 0) (setq org-edit-src-content-indentation 0)