emacs-lisp source: :tangle ~/nix/lisp/org-tasks.el(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.
dot source: :file data/full-state-workflow.png :cmd dotdigraph 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.
emacs-lisp source: :tangle ~/nix/lisp/org-tasks.el(setq org-todo-keywords '((sequence "NEXT(n)" "INPROGRESS(i!)" "DONE(d!)") (sequence "WAITING(w!)" "CANCELLED(c!)"))) (setq org-use-fast-todo-selection t)
emacs-lisp source: :tangle ~/nix/lisp/org-tasks.el(defun cce-get-ef-themes-color (face) (thread-last (modus-themes-get-current-theme) (modus-themes-get-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)
