From 24634132d88b7b227690e23a48eb9a487bd70d7e Mon Sep 17 00:00:00 2001 From: Daniel Borchmann Date: Sat, 10 Dec 2022 10:38:05 +0100 Subject: [PATCH] Unify custom agendas on how to ignore future items Always use property matches for this, as it's more direct to me to understand what the actual search criteria are (even if these are a bit slower). Also use `` instead of `` to ignore the time part and always fall back to 00:00 time; this should avoid intra-day changes of whether an item appears on a list or not. --- init.el | 28 ++++++++++++---------------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/init.el b/init.el index 70f88e2..b164344 100644 --- a/init.el +++ b/init.el @@ -1158,18 +1158,16 @@ respectively." "" ((org-agenda-entry-types '(:timestamp :sexp :scheduled :deadline)) (org-deadline-warning-days 0))) - (tags-todo "TODO={CONT\\|ATTN}-HOLD-TIMESTAMP>\"\"" - ((org-agenda-overriding-header "Things to do next (Task shortlist and WIP, TODO ∈ {CONT,ATTN}, not scheduled now or in the future)") - (org-agenda-todo-ignore-scheduled 0))) + (tags-todo "TODO={CONT\\|ATTN}-HOLD-TIMESTAMP>=\"\"-SCHEDULED>=\"\"" + ((org-agenda-overriding-header "Things to do next (Task shortlist and WIP, TODO ∈ {CONT,ATTN}, not scheduled now or in the future)"))) (db/org-agenda-list-deadlines "" ((org-agenda-overriding-header "Deadlines") (org-agenda-sorting-strategy '(deadline-up priority-down)) (org-deadline-warning-days 30))) - (tags-todo "TODO<>\"CONT\"-HOLD-SOMEWHEN-DATE-WAIT-TEMPLATE" + (tags-todo "TODO<>\"CONT\"-HOLD-SOMEWHEN-DATE-WAIT-TEMPLATE-SCHEDULED>=\"\"" ((org-agenda-overriding-header "Next Actions List (not WIP, not scheduled now or in the future)") - (org-tags-match-list-sublevels t) - (org-agenda-todo-ignore-scheduled 0))))) + (org-tags-match-list-sublevels t))))) ("B" "Backlog" ((tags-todo "-HOLD-SOMEWHEN-DATE-PERIODIC-TEMPLATE" @@ -1184,12 +1182,10 @@ respectively." ((org-agenda-overriding-header "Goals (i.e., complex tasks) not marked with GOAL"))))) ("U" "Unsupervised (Waiting, Missed Appointments, Hold)" - ((tags-todo "WAIT-HOLD-SOMEWHEN" - ((org-agenda-overriding-header "Waiting For List") - (org-agenda-todo-ignore-scheduled 0))) - (tags-todo "DATE" - ((org-agenda-overriding-header "Missed appointments (DATEs with timestamp in the past)") - (org-agenda-todo-ignore-timestamp 0))) + ((tags-todo "WAIT-HOLD-SOMEWHEN-SCHEDULED>=\"\"" + ((org-agenda-overriding-header "Waiting For List"))) + (tags-todo "DATE-TIMESTAMP>=\"\"" + ((org-agenda-overriding-header "Missed appointments (DATEs with timestamp in the past)"))) (tags "REFILE" ((org-agenda-files (list db/org-default-refile-file)) (org-agenda-overriding-header "Things to refile (make it empty!)"))) @@ -1198,7 +1194,7 @@ respectively." ("S" "Somewhen (Do if nothing else to do, i.e., personal backlog)" - ((tags "TAGS={SOMEWHEN}+TODO=\"\"-TAGS={NOP\\|TOPIC}-PERIODIC-DATE-SCHEDULED>=\"<+0d>\"" + ((tags "TAGS={SOMEWHEN}+TODO=\"\"-TAGS={NOP\\|TOPIC}-PERIODIC-DATE-SCHEDULED>=\"\"" ((org-agenda-overriding-header "Open Tasks to do SOMEWHEN (no TODO keyword, no PERIODIC, no DATE, no now or future SCHEDULED)"))) (tags-todo "SOMEWHEN" ((org-agenda-overriding-header "Things To Do SOMEWHEN") @@ -1208,11 +1204,11 @@ respectively." ("P" "Current Projects and Topics" ((stuck "" ((org-agenda-overriding-header "Stuck Complex Tasks"))) - (tags "TAGS={NOTE}-TODO={CANC\\|DONE\\|MRGD}-HOLD-NOP-SCHEDULED>=\"<+0d>\"" + (tags "TAGS={NOTE}-TODO={CANC\\|DONE\\|MRGD}-HOLD-NOP-SCHEDULED>=\"\"" ((org-agenda-overriding-header "Project Notes (items explicitly tagged with NOTE but not NOP, not scheduled now or in the future)"))) - (tags "TAGS={TOPIC}-TODO={DONE\\|CANC\\|MRGD}-SCHEDULED>=\"<+0d>\"-HOLD-WAIT" + (tags "TAGS={TOPIC}-TODO={DONE\\|CANC\\|MRGD}-SCHEDULED>=\"\"-HOLD-WAIT" ((org-agenda-overriding-header "Topics"))) - (tags "TAGS={PERIODIC}-TODO={DONE\\|CANC\\|MRGD}-HOLD-SCHEDULED>=\"<+0d>\"-HOLD-WAIT" + (tags "TAGS={PERIODIC}-TODO={DONE\\|CANC\\|MRGD}-HOLD-SCHEDULED>=\"\"-HOLD-WAIT" ((org-agenda-overriding-header "Periodic Projects (PERIODIC, not scheduled in the future, not done, not on hold)"))))) ("W" "Weekly Review"