From 6d7c47fca9e380b21c2b5166411136bb5b9dc766 Mon Sep 17 00:00:00 2001 From: Bobby Bingham Date: Tue, 28 Apr 2020 20:53:51 -0500 Subject: emacs: more org mode agenda work --- emacs/.emacs.d/org-mode.el | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-) (limited to 'emacs/.emacs.d') diff --git a/emacs/.emacs.d/org-mode.el b/emacs/.emacs.d/org-mode.el index 3d9de33..14f0da3 100644 --- a/emacs/.emacs.d/org-mode.el +++ b/emacs/.emacs.d/org-mode.el @@ -1,20 +1,12 @@ ;; --- CUSTOM DEFINITIONS AND FUNCTIONS --- -(setq - ;; list of TODO statuses that are actionable - bab/org-todos-actionable '("TODO" "STARTED") - ) - (defun bab/org-get-todo (entry) (org-entry-get (get-text-property 0 'org-marker entry) "TODO" nil)) -(defun bab/org-todo-actionable-p (todo) - (if (member todo bab/org-todos-actionable) t nil)) - -(defun bab/org-entry-actionable-p (entry) - (bab/org-todo-actionable-p (bab/org-get-todo entry))) - -(defun bab/org-cmp-actionable (a b) - (if (bab/org-entry-actionable-p a) nil t)) +(defun bab/todo-column-display-filter (title value) + (when (and value (not (string= value "")) + (or (string= title "SCHEDULED") + (string= title "DEADLINE"))) + (format-time-string "%Y-%m-%d" (org-time-string-to-time value)))) (defun bab/org-agenda () "My own custom org agenda" @@ -45,7 +37,7 @@ :deadline nil :order 9) (:name "Waiting" - :pred (lambda (entry) (not (bab/org-entry-actionable-p entry))) + :todo "WAIT" :order 8) (:auto-property "TYPE") (:name "Upcoming" @@ -96,11 +88,12 @@ ;; TODO states and sequences org-todo-keywords - '((sequence "TODO(t)" "STARTED(s)" "WAIT(w)" "|" "DONE(d)") - (sequence "|" "CANCELED(x)")) + '((sequence "TODO(t)" "STARTED(s!)" "WAIT(w!)" "|" "DONE(d!)") + (sequence "|" "CANCELED(x@)")) org-todo-keyword-faces '(("WAIT" . (:foreground "DodgerBlue1")) ("STARTED" . (:foreground "orchid1")) + ("MEETING" . (:foreground "aquamarine")) ("CANCELED" . (:foreground "snow4"))) ;; Blank capture templates, so local config can add to it @@ -117,11 +110,16 @@ org-agenda-skip-scheduled-if-done t org-agenda-start-on-weekday nil + ;; Column view + org-overriding-columns-format "%1PRIORITY %DEADLINE %TODO %CLOCKSUM(CLK) %EFFORT(EST) %TLP %ITEM" + org-columns-modify-value-for-display-function #'bab/todo-column-display-filter + ;; Misc configuration org-deadline-warning-days 7 org-default-notes-file "~/org/notes" org-enforce-todo-dependencies t org-fast-tag-selection-single-key (quote expert) + org-log-into-drawer "LOGBOOK" org-return-follows-link t org-reverse-note-order t org-use-property-inheritance t -- cgit v1.2.3