emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Orgmode] Re: Using org-agenda-filter-preset with or'd tags


From: Matt Lundin
Subject: [Orgmode] Re: Using org-agenda-filter-preset with or'd tags
Date: Tue, 11 Jan 2011 08:20:40 -0500
User-agent: Gnus/5.110011 (No Gnus v0.11) Emacs/24.0.50 (gnu/linux)

David Maus <address@hidden> writes:

> At Mon, 20 Dec 2010 14:12:39 +0000 (UTC),
> johnt wrote:

>> I tried various filters to verify my syntax.
>> using (org-agenda-filter-preset '("address@hidden")) works fine but is not 
>> what I want.
>> using (org-agenda-filter-preset '("@Work" "|" "critical")) also doesn't work.
>
> There are some errors in your `org-agenda-filter-preset':
>
>  1. You should not quote this list, because the entire structure of
>     `org-agenda-custom-commands' is already quoted.

Quoting a list works fine in my org-agenda-custom-commands settings.
In fact, there are other variables that have quoted lists as their
setting, such as org-agenda-entry-types. 

>  2. Format of `org-agenda-filter-preset' (C-h v
>     org-agenda-filter-preset RET):
>
>    ,----
>    | A preset of the tags filter used for secondary agenda filtering.
>    | This must be a list of strings, each string must be a single tag preceded
>    | by "+" or "-".
>    `----
>
>    So ("@work" "|" "critical") is wrong format.

That's the problem.

>
>  3. The preset filter ANDs the tags together and as far as I am aware
>     of (our could think of) it is not possible to OR tags together.
>     However, I wonder why you would like to set the preset-filter: The
>     tags-todo query already selects only tasks that are either tagged
>     @work or critical?
>

It would make sense if org-agenda-todo-ignore-scheduled is 'all or
'past.

To use "or" logic to filter the agenda, I would recommend setting
org-agenda-skip-function.

--8<---------------cut here---------------start------------->8---
(setq org-agenda-custom-commands
      '(("W" "Work Schedule" 
         ((agenda "" 
                  ((org-agenda-skip-function '(org-agenda-skip-entry-if 
'notregexp ":\\(@Work\\|critical\\):")))
                   (org-agenda-ndays 1)))
          (tags-todo "@Work|critical")))))
--8<---------------cut here---------------end--------------->8---

Best,
Matt



reply via email to

[Prev in Thread] Current Thread [Next in Thread]