Reputation: 34314
I use the org-mode
weekly/daily agenda and want to be able to use the SCHEDULED
keyword to hide items until the scheduled time comes up. I don't want to think about them until then. How can I set up org-agenda-list
to do this?
This is the list of agenda items, not the TODO list. I already have org-agenda-todo-ignore-scheduled
set to future
. It does not help.
Upvotes: 14
Views: 5235
Reputation: 368
You can probably get what you want using org-modes confusing set of parameters but it's probably just easier creating a custom filter function
(defun my/org-skip-function (part)
"Partitions things to decide if they should go into the agenda '(agenda future-scheduled done)"
(let* ((skip (save-excursion (org-entry-end-position)))
(dont-skip nil)
(scheduled-time (org-get-scheduled-time (point)))
(result
(or (and scheduled-time
(time-less-p (current-time) scheduled-time)
'future-scheduled) ; This is scheduled for a future date
(and (org-entry-is-done-p) ; This entry is done and should probably be ignored
'done)
'agenda))) ; Everything else should go in the agenda
(if (eq result part) dont-skip skip)))
(setq org-agenda-skip-function '(my/org-skip-function 'agenda))
If you want other filters just add them to the or
-block with a different tag.
Upvotes: 2
Reputation: 99
This worked for me:
(setq org-agenda-todo-ignore-with-date t)
From http://orgmode.org/manual/Global-TODO-list.html
Upvotes: 0
Reputation: 4506
Set
(setq org-agenda-todo-ignore-scheduled 'future)
and
(setq org-agenda-tags-todo-honor-ignore-options t)
Upvotes: 10