I've posted before on using Brent Hansen's amazing org setup. This time around, I'm specifically having a problem with getting org-mode to display my habits.
I had to nuke my emacs and start from scratch recently, so debugging is hard.
I am quite certain that I have habit
mode enabled since:
.emacs
(see below);; Enable habit tracking
(setq org-modules (quote (org-habit)))
; position the habit graph on the agenda to the right of the default
(setq org-habit-graph-column 50)
(run-at-time "06:00" 86400 '(lambda () (setq org-habit-show-habits t)))
My capture template for habits, seems to set up to include everything needed:
("h" "Habit" entry (file "~/Dropbox/org-new/refile.org")
"* NEXT %?\n%U\n%a\nSCHEDULED: %(format-time-string \"%<<%Y-%m-%d %a .+1d/3d>>\")\n:PROPERTIES:\n:STYLE: habit\n:REPEAT_TO_STATE: NEXT\n:END:\n")
I have an additional set of properties in my Top Level Header for habits that reads:
* Habits
:PROPERTIES:
:LOGGING: DONE(!)
:ARCHIVE: %s_archive::* Habits
:END:
When I run the agenda, I see (Org-Agenda Day Ddl Grid Habit Wrap)
in the Mode line
Despite that, my habits do not show up, nor does a habit graph, when I run the agenda. I've trawled everything I can to try and solve this and I'm now at my wit's end. Any help would be greatly appreciated!
You need to add a :STYLE:
property with the value habit
to your habits:
** TODO Shave
SCHEDULED: <2009-10-17 Sat .+2d/4d>
- State "DONE" from "TODO" [2009-10-15 Thu]
- State "DONE" from "TODO" [2009-10-12 Mon]
- State "DONE" from "TODO" [2009-10-10 Sat]
- State "DONE" from "TODO" [2009-10-04 Sun]
- State "DONE" from "TODO" [2009-10-02 Fri]
- State "DONE" from "TODO" [2009-09-29 Tue]
- State "DONE" from "TODO" [2009-09-25 Fri]
- State "DONE" from "TODO" [2009-09-19 Sat]
- State "DONE" from "TODO" [2009-09-16 Wed]
- State "DONE" from "TODO" [2009-09-12 Sat]
:PROPERTIES:
:STYLE: habit
:LAST_REPEAT: [2009-10-19 Mon 00:36]
:END:
See Tracking your habits.
EDIT: While the STYLE:habit property is necessary, that isn't the problem in this case (as discussed in the comments). However, it might well be that the order of the elements in the headline is the problem. Running org-lint
on the following example:
* NEXT Exercise
[2017-07-16 Sun 19:36]
[[file:~/Dropbox/org-new/todo.org::*Write][Write]]
SCHEDULED: <2017-07-16 Sun .+1d/2d>
:PROPERTIES:
:STYLE: habit
:REPEAT_TO_STATE: NEXT
:END:
I get
3 low Link to non-existent local file "~/Dropbox/org-new/todo.org"
4 low Misplaced planning info line
5 high Incorrect location for PROPERTIES drawer
If I reorg the file a bit to this:
* NEXT Exercise
SCHEDULED: <2017-07-16 Sun .+1d/2d>
:PROPERTIES:
:STYLE: habit
:REPEAT_TO_STATE: NEXT
:END:
[2017-07-16 Sun 19:36]
[[file:~/Dropbox/org-new/todo.org::*Write][Write]]
then the high
priority warning disappears. I don't know whether that will make habits work, but I'm willing to bet that it would.
The manual states:
When they are associated with a single entry or with a tree they need to be inserted into a special drawer (see Drawers) with the name PROPERTIES, which has to be located right below a headline, and its planning line (see Deadlines and scheduling) when applicable.