[Top][All Lists]

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

Re: [Orgmode] Re: Switching between many contexts

From: Carsten Dominik
Subject: Re: [Orgmode] Re: Switching between many contexts
Date: Tue, 3 Mar 2009 14:31:14 +0100

On Mar 3, 2009, at 2:05 PM, Matthew Lundin wrote:

Daniel Clemente <address@hidden> writes:

In fact I would like to use often the agenda view with several tags excluded, so the ideal setup would be an agenda custom search. But I don't know which command to use in org-agenda-custom- commands: I don't want tags-todo (that's a heading list), but the real agenda (with its colors, dates, deadlines, etc.). However, the search type called „agenda“ seems not to accept tags to search.
 Maybe „agenda“ could accept tags to search?
 Or else I can try to do a custom command which emulates the agenda
 but adds this filter; maybe with a local variable or with „skip
 conditions“ (org-agenda-skip-function).

For this you would indeed you a skip function.


--8<---------------cut here---------------start------------->8---
(setq org-agenda-custom-commands
     '(("A" agenda ""
((org-agenda-skip-function '(org-agenda-skip-entry-if 'regexp ":TAG:"))))))
--8<---------------cut here---------------end--------------->8---

This is very good, and it will work if you are talking about
entries that all do have that tag explicitly.  But will fail
if you have subtrees that inherit the tag:  If the agenda
scanner stops at a time stamp that is in an entry that inherits
the tag, then the skipper will not see the tag.

The reason why the agenda view does not have an option to
exclude some tags is also because of inheritance.  The tags
scanner that is used by `C-c a m' is designed to treat tag
inheritance fast, but the agenda directly jumps to relevant
time stamps and then must work its way up the hierarchy, for
each matching time stamp, to get all relevant tags.

A work-around with some speed penalty will therefore be

 ((org-agenda-skip-function '(member "TAG" (org-get-tags-at)))

Another possibility that might be useful would be to
use permanent restrictions.

For example, you can go to a subtree that you want to work with
and press `C-c C-x <'  on the headline.  All future agenda
commands then will only look at that subtree, until you
select a new restriction or until you remove the restriction with
`C-c C-x >'.  You may also restrict to a file by calling `C-c C-x <'
before the first headline of a file.

Maybe the best solutions would be if I allowed for a default
secondary filter to be applied to an agenda view....  I will look
into this possibility.

- Carsten


Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.

reply via email to

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