here is a patch implementing category filtering in the agenda.
The patch is not 100% clean wrt documentation, but I throw it
now to get some feedback and some testing done.
Press "<" in the agenda to filter by category.
Press "< <" to filter by the category of the entry point.
Another "/ /" removes the filter. "/" + " " filters by the
default category ("General") since everything is in a category.
I find this last function quick and useful, so I also implemented
it for tag filtering: pressing "/ /" filters by tags from the entry
on the current line. A second "/ /" removes the filter.
Let me know if the category filtering works ok with you, and
if you find the new "/ /" behavior useful.
There is one limitation for now: it does not combine with Effort
filtering.
I get the folllowing error with the latest HEAD:
Debugger entered--Lisp error: (args-out-of-range "" 0 1)
#[(x) "\301\302O\207" [x 0 1] 3]("")
mapconcat(#[(x) "\301\302O\207" [x 0 1] 3] (#("Weather" 0 7
(fontified nil org-category #("Day/Year" 0 8 ...) org-category-position
603)) "" #("Computer" 0 8 (fontified nil org-category #("Animals" 0 7
...) org-category-position 1281)) #("House" 0 5 (fontified nil
org-category #("Animals" 0 7 ...) org-category-position 1281))
#("Writing" 0 7 (fontified nil org-category #("Tasks" 0 5 ...)
org-category-position 69425)) #("Tasks" 0 5 (fontified nil org-category
#("Tasks" 0 5 ...) org-category-position 69382)) #("Parish Council" 0 14
(fontified nil org-category #("Parish Council" 0 14 ...)
org-category-position 67962)) #("Animals" 0 7 (fontified nil
org-category #("Weather" 0 7 ...) org-category-position 647))
#("Subscriptions" 0 13 (fontified nil org-category #("House" 0 5 ...)
org-category-position 49251)) #("Car" 0 3 (fontified nil org-category
#("Animals" 0 7 ...) org-category-position 1281)) "home" #("Market
Drayton." 0 15 (fontified nil org-category "Tasks")) #("Capel Curig." 0
12 (fontified nil org-category #("Market Drayton." 0 15 ...)
org-category-position 464)) #("Day/Year" 0 8 (fontified nil org-category
#("Capel Curig." 0 12 ...) org-category-position 534)) #("Appointment."
0 12 (fontified nil org-category "calendar"))) "")
org-agenda-filter-by-category(nil)
call-interactively(org-agenda-filter-by-category nil nil)