I'm experimenting with org-habit and currently have
org-habit-show-all-today set to
t so I can see a habit even when I've done it for that day. I'm doing that because I want to get the little reward of seeing the line of stars right away :-)
However, I also want to not have habits I've already done distracting me from habits that aren't done.
How can I display those in a different face, so I can make the text of the habit "greyed out"?
what-cursor-position with a prefix argument reveals (I've removed the properties other than the faces):
There are text properties here: done-face org-agenda-done face org-scheduled-today mouse-face highlight undone-face org-scheduled-today
The face associated with
org-agenda-done, is already "greyed out" (grey italic text), which is the face I want. However, I think what determines the face is just the text property
face, which is associated with face
org-scheduled-today (medium weight blue text) -- that makes the text appear in blue, not grey or italic.
Something I don't understand the intent of -- though resolving this may not be needed to answer the question -- Why would these habit TODO items have face
org-scheduled-today when they are not scheduled for today? I think the following code (from
org-agenda-get-scheduled) is responsible for that, but I don't understand why that behaviour is wanted:
(let* ( ... (face (cond ((and (not habitp) pastschedp) 'org-scheduled-previously) (todayp 'org-scheduled-today) (t 'org-scheduled))) ) (org-add-props item props 'undone-face face 'face (if donep 'org-agenda-done face) ...
So I think
face is set to
org-scheduled-today ("Face for items scheduled for a certain day") because it's a habit that appears on today's date, even though it's not scheduled for today's date.
Here's the item in question (which appears as I've described above at the time of writing, i.e. when today's date is 2018-11-26):
** shave yaks SCHEDULED: <2018-11-27 Tue 08:00 .+1d> :PROPERTIES: :STYLE: habit :LAST_REPEAT: [2018-11-26 Mon 11:23] :END: - State "DONE" from "" [2018-11-26 Mon 11:23]