I would like to do something in Org-Mode, but I'm not sure how to achieve it in the best way.
I basically want to be able to have an item in my agenda every few days that reminds me every few days to work on a personal project. The reminder should reflect the current sub-task. I don't want to be pressured by fixed deadlines (weekly or daily).
How can I do this?
What I have
Let's say I would like to do something that involves multiple small steps. Naturally I would break it down like this:
** TODO Work through the book Practical Common Lisp
*** TODO Read chapter 1 of PCL
*** TODO Read chapter 2 of PCL
*** TODO Read chapter 3 of PCL
...
I use book chapters as an example, but I would use this for other, more abstract tasks, too.
What I want (I guess)
I would like to have an entry in my agenda that reminds me to do this. More specifically it would be nice, if the following things were true:
- There is only one entry in the agenda (i.e. not all children).
- The entry in the agenda changes (i.e. not the parent item).
- When one sub-task is set to
DONE
, it takes a (configurable) number of days until the next item is shown in the agenda.
I am imagining (3) similar to how ".+5d
" in a SCHEDULED
timestamp would repeat a TODO
five days from today.
The problem
At the moment to me it seems I can always only have only two of the three points above. I can set a repeating timestamp on the parent heading, but that will always only show the general heading, not the particular task. Relative rescheduling (or repeating) for child tasks does not make sense, but I also don't want fixed deadlines here.
Thoughts on a solution
I haven't used Org Mode's habits feature, but it seems related. Also I considered using TODO
dependencies as suggested in this answer, maybe org-depend, or something using a single NEXT
for only one child heading. However, right now I can't see how the relative scheduling of child headings could work in both cases. There is a similar question with the suggestion to use org-clone-subtree-with-time-shift
, but I don't want copies, I already have them.
I'm about to cook something up in Elisp (I am learning since the summer). However this problem seems really not that uncommon, so I wondered whether somebody knows better existing solutions. I'm also open to completely quite other suggestions that achieve the same thing, in case I'm missing something obvious. I want to keep task and sub-tasks represented as Org Mode's parent and child headings.
Edit: Current workaround
My current workaround is a list of checkboxes ("- [ ] ...
") under a parent heading that contains a cookie (e.g. "[5/12]
") and a file:
link. The link points to the same file and contains a regex that matches the first unchecked checkbox with some arbitrary keyword, which I've appended to checkbox line. While this approach allows me to quickly jump to the next item, the item is not shown in the agenda.
In case somebody is interested, the link looks like the following. I somehow wasn't able to figure out quickly how to escape [
and ]
, so I used a dirty .
instead (enough for me in this case).
file:~/doc/org/inbox.org::/^- . . .* #offload$/