I want to create a
org-mode agenda dashboard that has multiple headers, each with content from a different query. How can I make this happen with a single command? Am I forced to have them in separate buffers?
org-agenda-custom-commands can contain search parameters for multiple blocks that have different search criteria. Here is a section from the Emacs manual:
10.6.2 Block agenda Another possibility is the construction of agenda views that comprise the results of several commands, each of which creates a block in the agenda buffer. The available commands include agenda for the daily or weekly agenda (as created with C-c a a), alltodo for the global TODO list (as constructed with C-c a t), and the matching commands discussed above: todo, tags, and tags-todo. Here are two examples: (setq org-agenda-custom-commands '(("h" "Agenda and Home-related tasks" ((agenda "") (tags-todo "home") (tags "garden"))) ("o" "Agenda and Office-related tasks" ((agenda "") (tags-todo "work") (tags "office"))))) This will define C-c a h to create a multi-block view for stuff you need to attend to at home. The resulting agenda buffer will contain your agenda for the current week, all TODO items that carry the tag ‘home’, and also all lines tagged with ‘garden’. Finally the command C-c a o provides a similar view for office tasks.
See also the
org-mode manual at the section entitled Custom Agenda Commands: