The following post is part of my new Emacs Writing Setup. You can find the complete setup here on GitHub: https://github.com/ballantony/emacs-writing
On my original Emacs Writing Set Up I had this many states:
(setq org-todo-keywords (quote ((sequence "TODO(t!)" "NEXT(n!)" "|" "DONE(d!)") (sequence "REPEAT(r)" "WAIT(w!)" "|" "PAUSED(p@/!)" "CANCELLED(c@/!)" ) (sequence "IDEA(i!)" "MAYBE(y!)" "STAGED(s!)" "WORKING(k!)" "|" "USED(u!/@)"))))
Now I only have three: TODO, IN PROGRESS and DONE
This is in line with my philosophy that productivity systems are great procrastinators. Thinking of new tagging systems and states for tasks is very absorbing. You can spend hours moving notes around and not doing any work.
Now I capture all my notes as TODOs, I change their state to IN PROGRESS and DONE as projects advance.
Calling org-agenda gives me a bird’s eye view of everything I’m working on. I can then filter down as appropriate.
For convenience, I wrote the following function to restrict the agenda to the current project. ou can see an example in my config.el file
(defun tb/agenda-restrict-this-project () "Restrict agenda to current project" (interactive) (let ((org-agenda-files (list (projectile-project-root)))) (org-agenda)))
I rely a lot on this function. When writing I hit
SPC j p p (my keybinding: see my config.el file) to see the TODOs and IN PROGRESSes for the current project only.
You can read more in My Doom Emacs Writing Set Up