"Raymond Zeitler" <[email protected]> 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.
[email protected]
http://lists.gnu.org/mailman/listinfo/emacs-orgmode