diff --git a/lisp/org-config/my-org-agenda-commands.el b/lisp/org-config/my-org-agenda-commands.el index cdf5630..d1b4c31 100644 --- a/lisp/org-config/my-org-agenda-commands.el +++ b/lisp/org-config/my-org-agenda-commands.el @@ -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 ""))) + (or (and (property "DELAYED") + (org-time<= (org-entry-get (point) "DELAYED") + (org-matcher-time ""))) + (and (property "NOT_TODAY") + (org-time<= (org-entry-get (point) "NOT_TODAY") + (org-matcher-time ""))))) ((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 ""))) ((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 ""))) + ((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) diff --git a/lisp/org-config/my-org-agenda-files.el b/lisp/org-config/my-org-agenda-files.el index 337fe77..6b10141 100644 --- a/lisp/org-config/my-org-agenda-files.el +++ b/lisp/org-config/my-org-agenda-files.el @@ -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") diff --git a/lisp/org-delay.el b/lisp/org-delay.el index 8e9792e..ccba605 100644 --- a/lisp/org-delay.el +++ b/lisp/org-delay.el @@ -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