New habits file, for perpetual tasks

This commit is contained in:
Benson Chu 2023-04-29 14:49:39 -05:00
parent 53178c413f
commit c2d176f5de
3 changed files with 29 additions and 5 deletions

View file

@ -146,18 +146,31 @@
(defun org-agenda-hold-view (tag)
`((org-ql-block '(and (tags ,tag)
(not (tags "habits"))
(todo "TODO" "ONE" "META" "META1" "EMPTY" "SEQ")
(property "DELAYED")
(org-time<= (org-entry-get (point) "DELAYED")
(org-matcher-time "<now>")))
(or (and (property "DELAYED")
(org-time<= (org-entry-get (point) "DELAYED")
(org-matcher-time "<now>")))
(and (property "NOT_TODAY")
(org-time<= (org-entry-get (point) "NOT_TODAY")
(org-matcher-time "<now>")))))
((org-ql-block-header "Past Delayed Projects")))
(org-ql-block '(and (tags ,tag)
(not (tags "habits"))
(todo "TODO" "ONE" "META" "META1" "EMPTY" "SEQ")
(property "DELAYED")
(org-time> (org-entry-get (point) "DELAYED")
(org-matcher-time "<now>")))
((org-ql-block-header "Delayed projects")))
(org-ql-block '(and (tags ,tag)
(not (tags "habits"))
(todo "TODO" "ONE" "META" "META1" "EMPTY" "SEQ")
(property "NOT_TODAY")
(org-time> (org-entry-get (point) "NOT_TODAY")
(org-matcher-time "<now>")))
((org-ql-block-header "Delayed Today projects")))
(org-ql-block '(and (tags ,tag)
(not (tags "habits"))
(todo "TODO" "ONE" "META" "META1" "EMPTY" "SEQ")
(not (property "DELAYED"))
(let* ((ts (opr/get-type-and-state))
@ -166,6 +179,16 @@
(and (eq type 'project)
(eq state 'invis))))
((org-ql-block-header "Invisible projects")))
(org-ql-block '(and (tags ,tag)
(tags "habits")
(todo "TODO" "ONE" "META" "META1" "EMPTY" "SEQ")
(not (property "DELAYED"))
(let* ((ts (opr/get-type-and-state))
(type (car ts))
(state (cdr ts)))
(and (eq type 'project)
(eq state 'invis))))
((org-ql-block-header "Perpetual projects")))
(org-ql-block '(todo "BLOCKED")
((org-ql-block-header "Blocked projects")))
(org-ql-block '(and (tags ,tag)

View file

@ -53,8 +53,8 @@
,(my/agenda-file "refile.org")
,(my/agenda-file "sandbox.org")
,(my/agenda-file "dev.org")
,(my/agenda-file "prod.org"))))
,(my/agenda-file "prod.org")
,(my/agenda-file "habits.org"))))
(defconst my/all-agenda-files
(cons (my/agenda-file "eternal.org")

View file

@ -37,6 +37,7 @@
(pcase arg
('(4)
(org-entry-delete (point) "DELAYED")
(org-entry-delete (point) "NOT_TODAY")
"Removed delay on entry")
(_
(let* ((new-time