[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [O] Hiding "future" tasks in tags-todo agenda view
From: |
Carsten Dominik |
Subject: |
Re: [O] Hiding "future" tasks in tags-todo agenda view |
Date: |
Sat, 15 Oct 2011 15:08:17 +0200 |
On 14.10.2011, at 22:09, Neilen Marais wrote:
> Hi,
>
> I've recently switched from using tracks (http://getontracks.org/) to
> org mode for GTD task management. One neat tracks feature that I am
> struggling to reproduce is the "show task from date". If you add a
> task with no date set, they show up immediately in the context next
> action lists, but if you have a "show from" date in the future, it
> only shows the task from that date onwards.
>
> Scheduling timestamps (http://orgmode.org/worg/org-faq.html#sec-16-9)
> seem like they should do exactly that, but they don't seem to work in
> my custom org-agenda that I use to show only items with a NEXT todo
> state and an assigned context. However, it shows all items
> irrespective of the scheduling setting.
>
> (setq org-agenda-custom-commands
> '(
> ("c" "Context Next Tasks"
> tags-todo (mapconcat 'car my-org-context-tag-alist "|")
> ((org-agenda-skip-function '(org-agenda-skip-entry-if
> 'nottodo '("NEXT")))
> (org-agenda-sorting-strategy '(tag-up))
> (org-agenda-overriding-header "Context Next Tasks")
> ))
> ))
>
> How can I make this custom agenda skip items that are scheduled in the
> future, while also keeping unscheduled tasks? I have also tried adding
> (org-agenda-entry-types '(:scheduled))
> but that did not seem to make any difference.
Hi Neilen,
this was a pretty good attempt for someone who says he is new to org!
Scheduling normally has the purpose to make an item show up in your daily
agenda on a specified date. But you can use is also to hide items scheduled
in the future from the task list. Here is how:
(setq org-agenda-custom-commands
'(
("c" "Context Next Tasks"
tags-todo
"TODO=\"NEXT\"+SCHEDULED=\"\"|TODO=\"NEXT\"+SCHEDULED<=\"<today>\""
((org-agenda-sorting-strategy '(tag-up))
(org-agenda-overriding-header "Context Next Tasks")
))))
You can use a regexp match TODO={^\\(NEXT\\|...\\|...\\)$} to check for several
TODO keywords as once.
Another, more compact possibility that is also more easily extended to your
longer list of tasks in my-org-context-tags-alist is:
(setq org-agenda-custom-commands
'(
("c" "Context Next Tasks"
tags-todo "SCHEDULED=\"\"|SCHEDULED<=\"<today>\"/NEXT"
((org-agenda-sorting-strategy '(tag-up))
(org-agenda-overriding-header "Context Next Tasks")
))))
Let me know if I need to further explain why these works - but I
guess you can figure it out?
Cheers
- Carsten