diff --git a/etc/conf.org b/etc/conf.org index 57ba10c..26ce8bf 100644 --- a/etc/conf.org +++ b/etc/conf.org @@ -2648,6 +2648,7 @@ The agenda files are limited to as few as possible to keep scanning and startup #+BEGIN_SRC emacs-lisp (setq org-agenda-files '("~/Org" "~/Org/projects" + "~/Org/reference/meetings" "~/Org/reference/peripheral.org")) #+END_SRC **** appearence @@ -3062,6 +3063,22 @@ original function being advised and ARGS are the arguments." (org-x-headline-is-task-with-future-creation-timestamp-p)) (:discard (:anything t)))))))) + ("m" + "Past Meetings" + ((tags-todo + ,(nd/org-mk-match-string + - org-x-tag-refile + + org-x-tag-meeting) + ((org-agenda-overriding-header "Meetings") + (org-super-agenda-groups + ',(nd/org-def-super-agenda-automap + (-when-let (ts (org-x--headline-get-property-epoch-time "SCHEDULED")) + (cond + ((< (float-time) ts) + "1. Future Meetings") + ((< (- (float-time) 10368000) ts) + "2. Past Meetings (120 days)"))))))))) + ("A" "Archivable Tasks and Projects" ((tags diff --git a/local/lib/org-x/org-x.el b/local/lib/org-x/org-x.el index 28ea36c..aeb54be 100644 --- a/local/lib/org-x/org-x.el +++ b/local/lib/org-x/org-x.el @@ -674,6 +674,14 @@ property." (org-x-headline-is-created-in-future) t))) +(defun org-x-headline-is-task-meeting () + "Return t if current headline is a meeting." + (-when-let (keyword (org-x-headline-is-task-p)) + (and (not (member keyword org-x-done-keywords)) + (org-x-headline-has-tag-p org-x-tag-meeting) + (org-x-headline-is-scheduled-p) + t))) + ;; (defun org-x-is-todo-child (keyword) ;; "Return t if current headline has a parent (at any level) with todo KEYWORD." ;; (let ((has-keyword-parent))