2.6 KiB
Project Work with Org Mode
(provide 'cce/org-tasks)
Tasks are prioritised when the project is opened, it's an intuitive habit to scan that a list of tasks within a project are reasonable, correct, and prioritised. Re-ordering tasks is done with M-<UP>
and M-<DOWN>
, sorting bubbly.
digraph tasksworkflow {
node [shape=box,fontname="Courier"]
NEXT -> CANCELED;
NEXT -> DONE;
NEXT -> INPROGRESS;
NEXT -> WAITING;
INPROGRESS -> DONE;
INPROGRESS -> WAITING;
INPROGRESS -> CANCELED;
WAITING -> NEXT;
WAITING -> CANCELED;
}
Tasks can be in five states, and flow between them works largely based on intuition. Individual work-objects are created in NEXT
state if they're ready to work on, or WAITING
if I have to do mental work on them still, or if it depends on uncompleted work. The move between states, towards either DONE
or CANCELED
, two self evident completed states. I move tasks between INPROGRESS
and WAITING
based on a scale of weeks, tasks can stay in INPROGRESS
perhaps for a week before their state should be reevaluated and possibly moved to WAITING
.
(setq org-todo-keywords '((sequence "NEXT(n)" "INPROGRESS(i!)" "DONE(d!)")
(sequence "WAITING(w!)" "CANCELLED(c!)")))
(setq org-use-fast-todo-selection t)
(defun cce-get-ef-themes-color (face)
(thread-last
(ef-themes--current-theme-palette)
(alist-get face)
(car)))
(defun cce-update-org-todo-keyword-faces ()
(setq org-todo-keyword-faces
`(("NEXT" :foreground ,(cce-get-ef-themes-color 'blue-warmer) :weight bold)
("INPROGRESS" :foreground ,(cce-get-ef-themes-color 'yellow) :weight bold)
("DONE" :foreground ,(cce-get-ef-themes-color 'green-cooler) :weight bold)
("WAITING" :foreground ,(cce-get-ef-themes-color 'magenta-cooler) :weight bold)
("CANCELLED" :foreground ,(cce-get-ef-themes-color 'red) :weight bold))))
(cce-update-org-todo-keyword-faces)