Emacs save custom agenda filter views
Table of Contents
If you work much with the Orgmode agenda you soon find that you can have a huge amount of appointments and todo tasks to deal with. You can sort these by putting tags on the, either straight from the agenda view (with :) or in the actual org file (with C-c while point is over a headline). You can then use those tags to filter and search your agenda (from agenda view, with / and \ followed by TAB). Once you have just the view you want–showing only certain tags, removing others–you’ll want to to save what you’ve got. On the plus side, this is emacs! Of course you can do that. On the down side, there is a paucity of good examples, even at the overall-good tutorial site here. Unfortunately, most of the examplse seem fixated on appending todo lists to your views, a feature I don’t use. I just want to be able to view my agenda day-by-day, with times indicated, and see when certain items fall in that schedule. Using commands like the following (inserted into one of my init files), I am able to save a shortcutted view for just the agenda setting I want.
;; saving views
(setq org-agenda-custom-commands
'(("c" . "Weekly class agendas 2015-S")
("c6" "LMC 6215"
((agenda "" ((org-agenda-span 7) (org-agenda-start-on-weekday nil) (org-agenda-tag-filter-preset '("+LMC_6215" "-SCHEDULE"))))))
("c8" "CS 8803"
((agenda "" ((org-agenda-span 7) (org-agenda-start-on-weekday nil) (org-agenda-tag-filter-preset '("+CS_8803" "-SCHEDULE"))))))))
With this set, I can now start ask for an agenda with C-c a and it will inform me that I have the option of pressing “c” for “Weekly class agendas 2015-S”. Upon pressing c, it will then ask me for either 6 (“LMC 6215”) or 8 (“CS 8803”). Whichever I select will then take me to a 7-day view, starting at today, where the only items that HAVE LMC_6215
or CS_8803
are on the list, but none of those that are also tagged with SCHEDULE
.
You can see how you could make these as complex as you want, and return to them any time with a few keystrokes. This is a feature I’m definitely going to put to good use!