From e8198f0dedb539cce325e19f7e1d05ef577d2ac5 Mon Sep 17 00:00:00 2001 From: Guangxiong Lin Date: Sun, 13 Mar 2022 17:54:23 +0800 Subject: Update org-agenda view (emacs) --- .emacs.d/lisp/init-org.el | 73 +++++++++++++++++++++++++++++++---------------- 1 file changed, 49 insertions(+), 24 deletions(-) diff --git a/.emacs.d/lisp/init-org.el b/.emacs.d/lisp/init-org.el index 10bc5b2..7e3f23c 100644 --- a/.emacs.d/lisp/init-org.el +++ b/.emacs.d/lisp/init-org.el @@ -21,6 +21,38 @@ ((org-ql-block-header "Stuck Projects"))) "A block showing stuck projects.") +(defvar gx/org-agenda-block--unwilling-to-do + '(tags-todo "UNWILLING" + ((org-agenda-overriding-header "Unwilling to do"))) + "A block showing tasks I am not willing to do ...") + +(defvar gx/org-agenda-block--week-at-a-glance + '(agenda "" + ((org-agenda-span 7) + (org-agenda-repeating-timestamp-show-all t) + (org-agenda-entry-types '(:deadline :scheduled)) + (org-agenda-overriding-header "Week at a Glance"))) + "A block showing the tasks scheduled or due this week.") + +(defvar gx/org-agenda-block--attention + '(org-ql-block '(and (not (todo "WAITING")) + (or (tags "URGENT" "FLAGGED") + (priority "A"))) + ((org-ql-block-header "ATTENTION"))) + "A block showing tasks require attention.") + +(defvar gx/org-agenda-block--waiting-not-scheduled + '(org-ql-block '(and (todo "WAITING") + (not (scheduled))) + ((org-ql-block-header "Waiting unscheduled tasks"))) + "A block showing waiting and not scheduled tasks.") + +(defvar gx/org-agenda-block--next-not-scheduled + '(org-ql-block '(and (todo "NEXT") + (not (scheduled))) + ((org-ql-block-header "Next unscheduled tasks"))) + "A block showing next unscheduled tasks.") + (defun gx/org-agenda-quit (fn) (org-save-all-org-buffers) (funcall fn)) @@ -210,33 +242,26 @@ ;; (tags . "%i %-12:c") ;; (search . " %i %-12:c"))) (setq org-agenda-custom-commands - `(("D" "Daily agenda and all TODOs" - (,gx/org-agenda-block--today-schedule - (tags-todo "+PRIORITY=\"A\"") - (tags-todo "computer|@office|phone") - (tags "PROJECT+CATEGORY=\"elephants\"") - ,gx/org-agenda-block--stuck-projects - (todo "NEXT") - (todo "WAITING"))) - ("W" "Weekly Review" - (,gx/org-agenda-block--weekly-schedule + `((" " "Daily agenda and all important TODOs" + (,gx/org-agenda-block--today-schedule + ,gx/org-agenda-block--attention + ,gx/org-agenda-block--unwilling-to-do + ;; (tags-todo "computer|@office|phone") + ;; (tags "PROJECT+CATEGORY=\"elephants\"") ,gx/org-agenda-block--stuck-projects - (todo "NEXT") - (todo "WAITING"))) - ("d" "Upcoming deadlines" agenda "" - ((org-agenda-time-grid nil) + ,gx/org-agenda-block--next-not-scheduled + ,gx/org-agenda-block--waiting-not-scheduled + ,gx/org-agenda-block--week-at-a-glance)) + ("d" "Upcoming deadlines" agenda "" + ((org-agenda-time-grid nil) (org-deadline-warning-days 365) (org-agenda-entry-types '(:deadline)))) - ("c" "Weekly schedule" agenda "" - ((org-agenda-span 7) - (org-agenda-repeating-timestamp-show-all t) - (org-agenda-entry-types '(:deadline :scheduled)))) - ("g" . "GTD contexts") - ("gh" "Home" tags-todo "home") - ("p" . "Priorities") - ("pa" "A items" tags-todo "+PRIORITIES=\"A\"") - ("pb" "B items" tags-todo "+PRIORITIES=\"B\"") - ("pc" "C items" tags-todo "+PRIORITIES=\"C\""))) + ("g" . "GTD contexts") + ("gh" "Home" tags-todo "home") + ("p" . "Priorities") + ("pa" "A items" tags-todo "+PRIORITIES=\"A\"") + ("pb" "B items" tags-todo "+PRIORITIES=\"B\"") + ("pc" "C items" tags-todo "+PRIORITIES=\"C\""))) ;; evil (when (gx/maybe-require-package 'evil-org) -- cgit v1.2.3