Hello All, I wanted to improve a bit on my current, simple agenda setup (setq org-agenda-custom-commands '(("n" "Agenda and all TODOs" ((agenda "" nil) (alltodo "" ((org-agenda-block-separator ""))))))) and achieve an agenda with three sections: 1) (agenda "" nil) 2) all todos with some planning information (scheduled or deadline) 3) all todos without any planning information Number 1 I already have. Number 3 can be achieved with (org-agenda-skip-function '(org-agenda-skip-if nil '(scheduled deadline))) But what about number 2? I searched the docs and code, bout couldn't seem to find anything. I hence ended up with the idea that I would need a new function, hypothetically (and cunningly) called org-agenda-skip-unless, which would do the same as org-agenda-skip-if, but with inverted logic. With that, my dream agenda would be: (setq org-agenda-custom-commands '(("n" "Agenda and all TODOs" ((agenda "" nil) (alltodo "" ((org-agenda-block-separator "") (org-agenda-overriding-header "TODO items with a date:") (org-agenda-skip-function '(org-agenda-skip-unless nil '(scheduled deadline))))) (alltodo "" ((org-agenda-block-separator "") (org-agenda-overriding-header "Other TODO items:") (org-agenda-skip-function '(org-agenda-skip-if nil '(scheduled deadline))))))))) Many thanks and looking forward to your thoughts, --alexander
[ sorry for the slow response ] Alexander Adolf writes: [...] > and achieve an agenda with three sections: > 1) (agenda "" nil) > 2) all todos with some planning information (scheduled or deadline) > 3) all todos without any planning information > > Number 1 I already have. Number 3 can be achieved with > > (org-agenda-skip-function '(org-agenda-skip-if nil '(scheduled deadline))) > > But what about number 2? I searched the docs and code, bout couldn't > seem to find anything. > > I hence ended up with the idea that I would need a new function, > hypothetically (and cunningly) called org-agenda-skip-unless, which > would do the same as org-agenda-skip-if, but with inverted logic. I'm not necessarily against the idea, though I'm not yet convinced there's a big need... > With that, my dream agenda would be: > > (setq org-agenda-custom-commands > '(("n" "Agenda and all TODOs" > ((agenda "" nil) > (alltodo "" ((org-agenda-block-separator "") > (org-agenda-overriding-header "TODO items with a date:") > (org-agenda-skip-function '(org-agenda-skip-unless nil '(scheduled deadline))))) org-agenda-skip-if accepts notscheduled and notdeadline conditions. Passing them both to a single org-agenda-skip-if wouldn't do what you want because org-agenda-skip-if combines its conditions with `or'. However, you could combine two separate org-agenda-skip-if calls: (org-agenda-skip-function '(and (org-agenda-skip-if nil '(notscheduled)) (org-agenda-skip-if nil '(notdeadline))))
Hello Kyle, Kyle Meyer <kyle@kyleam.com> writes: > [ sorry for the slow response ] Same here... > [...] >> With that, my dream agenda would be: >> >> (setq org-agenda-custom-commands >> '(("n" "Agenda and all TODOs" >> ((agenda "" nil) >> (alltodo "" ((org-agenda-block-separator "") >> (org-agenda-overriding-header "TODO items with a date:") >> (org-agenda-skip-function '(org-agenda-skip-unless nil '(scheduled deadline))))) > > org-agenda-skip-if accepts notscheduled and notdeadline conditions. > Passing them both to a single org-agenda-skip-if wouldn't do what you > want because org-agenda-skip-if combines its conditions with `or'. > However, you could combine two separate org-agenda-skip-if calls: > > (org-agenda-skip-function > '(and (org-agenda-skip-if nil '(notscheduled)) > (org-agenda-skip-if nil '(notdeadline)))) Ha, that's genius! Many thanks for sharing your wisdom! While I'm apparently still on the learning curve, would you agree that wishing for some more documentation around org-agenda would not bear the danger of fostering opulence? ;-) Many thanks and happy holidays, --alexander
Alexander Adolf writes:
> While I'm apparently still on the learning curve, would you agree that
> wishing for some more documentation around org-agenda would not bear the
> danger of fostering opulence? ;-)
I rarely think more documentation is a bad thing :), and any help in
that regard is greatly appreciated.