On 2015-12-12, at 09:53, Nicolas Goaziou <m...@nicolasgoaziou.fr> wrote:
> Hello, > > Marcin Borkowski <mb...@mbork.pl> writes: > >> I have org-agenda-todo-list-sublevels set to nil. However, given this >> tree: >> >> * DONE task >> ** TODO subtask >> >> it turns out that the todo list in the agenda shows the "subtask" anyway. >> >> Should it be so? I would guess not. > > It's not clear to to me it shouldn't be the case. AFAIU, the point of > `org-agenda-todo-list-sublevels' is not to skip TODO entries but to > limit the tasks you can process at a time. I see. >> The reason I'd like to exclude this "subtask" from displaying is >> something like this: assume that I have a project, halfway done, which >> must be postponed for some reason. I'd like to be able to do this: >> >> * SOMEDAY cool project >> ** DONE preparation >> ** TODO hard work >> >> where SOMEDAY is a done-type keyword. >> >> And of course, I don't want to be bothered by "hard work" in this case >> in my global todo list. >> >> Is there a way to achieve this? > > You can use a dedicated function in `org-agenda-skip-function' for that > (e.g., ignore task if one of its parents is a done task). Wow, thanks, I didn't know about it. Now that I look into this, should I use `org-agenda-skip-function' or `org-agenda-skip-function-global'? Also, how do I check whether one of the parents is done? I know how to climb through the hierarchy of headlines, how do I get the TODO keyword? Is `org-get-todo-state' the right function to do that? Now that I think of it, maybe I should use a tag for that (like :project: or something). I'll have to think about it. > Regards, Best, -- Marcin Borkowski http://octd.wmi.amu.edu.pl/en/Marcin_Borkowski Faculty of Mathematics and Computer Science Adam Mickiewicz University