aboutsummaryrefslogtreecommitdiff
path: root/.emacs.d/lisp
diff options
context:
space:
mode:
Diffstat (limited to '.emacs.d/lisp')
-rw-r--r--.emacs.d/lisp/init-org.el73
1 files 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)