The agenda view helpfully only shows habits for the current day, but habits that should not yet be done still show up in the global todo list. How can I prevent this from happening?
2 Answers
The global todo list is global, meaning that it lists all matching entries. Unfortunately, habit entries require TODO
to be present in its headings, thus they will show up in the global todo list by default.
You can filter the global list by tags
, categories
, efforts
, or regexp
but these will not work with habits, because a habit entry is just an ordinary entry with a property STYLE
set to habit
.
You can, however, a) tag all your habit entry, say, :habit:
or b) use #+CATEGORY: habit
to filter out. See "10.4.4 Filtering/limiting agenda items" for more information.
Since habits are scheduled, you can just do this: (setq org-agenda-todo-ignore-scheduled 'all)
and now they should be hidden. There are also a few other options like this to filter for different things:
org-agenda-todo-ignore-deadlines
org-agenda-todo-ignore-timestamp
org-agenda-todo-ignore-with-date
org-agenda-tags-todo-honor-ignore-options