This worked wonderfully! Thanks! I decided to combine the &%%(diary-day-of-year) into the same category with &%%(diary-sunrise-sunset).
My setup is shown on Emacs wiki: http://www.emacswiki.org/emacs/RaymondZeitler All the best! -- Raymond Zeitler <r.zeit...@ieee.org> -----Original Message----- From: Matt Lundin [mailto:m...@imapmail.org] Sent: Wednesday, November 03, 2010 8:44 PM To: Raymond Zeitler Cc: emacs-orgmode@gnu.org Subject: Re: Sunrise / Sunset in Agenda View only for Current Day? "Raymond Zeitler" <r.zeit...@ieee.org> writes: > I added sunrise & day of the week to the org file that I base my agenda view > on. But this adds the information for every day that's displayed in the > agenda. Is it possible to get the information to show up only for the > current day? > > TIA > > Here's the relevant content in the org file: > #+CATEGORY: Day/Year > &%%(diary-day-of-year) > #+CATEGORY: Sunrise > &%%(diary-sunrise-sunset) One way to accomplish this is with a custom skip function and a custom agenda command. In order for this particular setup to work, you'll need to put the sunrise sexp in it's own subtree, as in: --8<---------------cut here---------------start------------->8--- * Sunrise :PROPERTIES: :CATEGORY: Sunrise :END: &%%(diary-sunrise-sunset) --8<---------------cut here---------------end--------------->8--- Note: it's important that you use the CATEGORY property to ensure that the category "Sunrise" is limited to a single subtree. Then, you could add the following function to your emacs: --8<---------------cut here---------------start------------->8--- (defun my-org-skip-sunrise () (if (and (not (equal date (calendar-current-date))) (string= (org-get-category) "Sunrise")) (org-end-of-subtree t) nil)) --8<---------------cut here---------------end--------------->8--- Finally, you could define a custom command that instructs org to use the skip function to bypass all "Sunrise" entries for days other than today: --8<---------------cut here---------------start------------->8--- (add-to-list 'org-agenda-custom-commands '("x" "My agenda" agenda "" ((org-agenda-ndays 7) (org-agenda-skip-function 'my-org-skip-sunrise)))) --8<---------------cut here---------------end--------------->8--- If you're feeling brave, you could disregard the docstring for org-agenda-skip-function and bind the variable globally (i.e., invoke my-org-skip-sunrise on all agenda commands), but I wouldn't recommend this. Hope this helps, Matt _______________________________________________ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode