emacs-orgmode
[Top][All Lists]
Advanced

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

[Orgmode] (Possible Feature Request) Hiding Tags in Agenda View/Implemen


From: Miguel Fernando Cabrera
Subject: [Orgmode] (Possible Feature Request) Hiding Tags in Agenda View/Implementing Contexts in Org
Date: Wed, 7 Oct 2009 00:16:44 -0500

Hello all,

We all know of FILETAGS. Those are tags added to all entries in a
file.  That is cool. The only thing I don't like is that all those
tags are shown also in the Agenda, which if it itself restricted to
the file can be redundant.
Is there a way to avoid a specific tag to show up in the Agenda?

Let me tell you what I would do if tha functionality exists, so maybe
you can give me a good alternative.

I have several files, gtd.org (I put the name after a tutorial, but I
don't implement pure gtd) and home.org. One if for work related tasks
and the other for personal projects and task that are usually
performed at home.

I have "work" agenda view that shows my schedule of the tasks I have
in gtd.org (and in other work related org files).  I also have a
"home" agenda view, that is restricted to home.org.

Now, sometimes I have to do something related to a personal project
that can be only accomplished during work-hours. For example schedule
a appointment with the dentist. So far what I have done is that I put
"@work" tag on it.  And below the agenda view for "gtd.org" I put
tags-todo view  looking for headlines tagged "@work":

     ("w" "Things to do at Work"
         (
          (agenda "" ((org-agenda-ndays 1)


                      (org-agenda-sorting-strategy
                       (quote ((agenda time-up priority-down tag-up) )))
                      (org-agenda-files org-files-work)


                      (org-deadline-warning-days 0)

                      ))
          (tags-todo "REFILE")
          (tags-todo "@work") ;; show the stuff from home that can be
done at work as well (etc, calls or  whatever)
          )

         )

org-files-work is a variable set to something like:  (setq
org-files-work '("gtd.org" "scm.org"))


This work fine, however, I would like to see those task on "home.org"
that have been tagged with "@work" in the agenda day-view of
"gtd.org". I think that this can't be done right now. So I thought,
what if I use a FILETAG for those files that belong to the "@work"
context. And in "home.org" only mark those personal tasks donde at
work with the "@work" tag. Then use "org-agenda-skip-function" to skip
those tags that don't have "@work" tag attached in any file (I haven't
written that function yet):

for example:

          ("w" "Things to do at Work"
         (
          (agenda "" ((org-agenda-ndays 1)

                      (org-agenda-skip-function 'my-skip-unless-at-work)
                      (org-agenda-sorting-strategy
                       (quote ((agenda time-up priority-down tag-up) )))
                     (org-agenda-files ("gtd.org", "home.org"))


                      (org-deadline-warning-days 0)

                      ))
          (tags-todo "REFILE")
         )

         )



Too hacky?
Now, to really do what I want would be cool to have a way of saying to
org that don't show the "@work" tag.


I think at the end this is a question of how implement context in a
good way in Org. Any advice or strategy will be really helpful.

BTW, is there some lisp function like "org-entry-tags" to get the tags
of an entry, not reliying in  "re-search-forward"  as in [1]


[1] http://orgmode.org/manual/Special-agenda-views.html#Special-agenda-views

Thank you!

--
Miguel Fernando Cabrera Granados
http://mfcabrera.com
"A los hombres fuertes les pasa lo que a los barriletes; se elevan cuando es
mayor el viento que se opone a su ascenso." - José Ingenieros




reply via email to

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