The following post is part of my new Emacs Writing Setup. You can find the complete setup here: [GitHub - ballantony/emacs-writing: My Emacs Writing Setup](https://github.com/ballantony/emacs-writing) ----- On my original Emacs Writing Set Up I had this many states: ```lisp (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 [[Capturing and Refiling Notes|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. You can see an example in my [config.el](https://github.com/ballantony/doom-emacs-config/blob/main/config.el) file ```lisp (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](https://github.com/ballantony/doom-emacs-config/blob/main/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](https://github.com/ballantony/emacs-writing/blob/main/DoomEmacsWriting.org)