[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Orgmode] Does secondary filtering allow multiple tags?
From: |
Hsiu-Khuern Tang |
Subject: |
Re: [Orgmode] Does secondary filtering allow multiple tags? |
Date: |
Fri, 9 Jan 2009 11:18:24 -0800 |
User-agent: |
Mutt/1.5.18 (2008-05-17) |
* On Fri 07:38AM +0000, 09 Jan 2009, Carsten Dominik (address@hidden) wrote:
>
> On Jan 9, 2009, at 2:55 AM, Hsiu-Khuern Tang wrote:
>
> > Hi all,
> >
> > Suppose I have tagged some of my TODO headings. In an agenda view,
> > is it
> > currently possible to filter (using org-agenda-filter-by-tag) all
> > entries that
> > are tagged with (say) either "project1" _or_ "project2"? One can
> > certainly do
> > "project1" _and_ "project2" by narrowing the filter.
>
> No.
>
> - Carsten
Here's a workaround. I use org-map-entries to select all headlines directly
tagged with "project1" or "project2" and tag them with something unique, say
"CUR". Then I can use the ordinary filter mechanism in an agenda view to
restrict to headlines tagged with "CUR".
,----
| (setq cur_tags '("project1" "project2"))
|
| ;; Unbind the variable
| ;; (makunbound 'cur_tags)
|
| (setq match_string (concat "+TAGS={" (mapconcat (lambda (x) x)
| cur_tags "\|") "}"))
|
| ;; Remove the "CUR" tag:
| (org-map-entries '(org-toggle-tag "CUR") "CUR" 'agenda)
|
| ;; Turn on the CUR tag for all headlines (directly) tagged with
| ;; any member of cur_tags
| (org-map-entries '(org-toggle-tag "CUR" 'on) match_string 'agenda)
|
| ;; Count the number of headlines (directly) tagged with any member of
| ;; cur_tags:
| (length (org-map-entries t match_string 'agenda))
`----
Maybe someone will find this useful, or think of a more elegant solution.
--
Best,
Hsiu-Khuern.