7

Weekly, I try to make sure that there are no TODOs I want to have scheduled that I've missed. So I look through the list of all TODO entries (C-c a t). This is great; it shows only open TODOs, so I don't have to waste time skipping past all the stuff I've already done.

But really, I don't want the list of all TODOs; If something is scheduled, or recurring, I don't want to see it in this list. I'd rather only see things that I could be missing, and I'm not missing something scheduled tomorrow that repeats every two days.

One can run org-agenda-filter-by-tag with /, but either it can't filter by scheduled/recurring status, or I'm not sure of the way to use it that way. Given that the list of tags that show up when you press TAB doesn't include anything like "unscheduled", I'd bet this isn't the tool I want.

So there are two possible solutions. While I'd prefer the first, having the second is also a possible solution for this problem.

  1. How can I view all unscheduled open TODOs?

  2. How can I view all open TODOs (scheduled or not) that are not recurring?

9

You can create a custom agenda view which sets org-agenda-skip-function using org-agenda-skip-entry-if. Something like this:

(setq org-agenda-custom-commands
      '(("c" . "My Custom Agendas")
        ("cu" "Unscheduled TODO"
         ((todo ""
                ((org-agenda-overriding-header "\nUnscheduled TODO")
                 (org-agenda-skip-function '(org-agenda-skip-entry-if 'timestamp)))))
         nil
         nil)))
  • 1
    This will skip anything with a timestamp. (org-agenda-skip-entry-if 'notscheduled) will skip only scheduled items. – erikstokes Sep 12 '15 at 16:24
  • 1
    @erikstokes -- I think you mean (org-agenda-skip-entry-if 'scheduled), not 'notscheduled. – zck Sep 13 '15 at 1:57
  • This answer is great, but I would suggest not using setq, but instead push to just add a new entry to the list, rather than setting it entirely afresh. Also, I'm not sure why the todo symbol and its arguments need to be doubly-nested; it seems to work fine if they're at the top level of the quoted list. – zck Sep 13 '15 at 2:00
  • 1
    @zck Yes, that's what I meant. The double nesting thing is if you want multiple blocks in one agenda view. This one only has one block, so it's the same as being at the top level. – erikstokes Sep 13 '15 at 2:07
6

You can now satisfy these requirements without a custom agenda by customizing org-agenda-todo-ignore-scheduled. It also comes in these flavours: org-agenda-todo-ignore-with-date org-agenda-todo-ignore-deadlines and others.

  • Specifically you can set org-agenda-todo-ignore-scheduled to 'all to ignore any item that has a schedule (and likewise for deadlines). 'past and 'future are also valid settings. – erikstokes Nov 18 '17 at 18:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.