I had put my initial implementation of multiple agenda buffers and sticky agenda support on g...@github.com:7max/org-mode.git branch multiple-agenda-buffers.
To enable, use M-x org-toggle-sticky-agenda In order to take full advantage of the sticky agenda, you need to give your various agendas different buffer names, you can do it by including `org-agenda-buffer-name' into the list of bound variables in `org-agenda-custom-commands' For example: (setq org-agenda-custom-commands '(("a" "Agenda and NEXT (priority)" ((agenda "" ((org-agenda-span 'day))) (tags-todo "/!NEXT" ((org-agenda-overriding-header "Next Tasks") (org-agenda-tags-todo-honor-ignore-options t) (org-agenda-todo-ignore-scheduled t) (org-agenda-todo-ignore-deadlines t) (org-tags-match-list-sublevels t) (org-agenda-sorting-strategy '(priority-down category-keep))))) ((org-agenda-buffer-name "*Agenda*"))) ("t" "TODO entries" todo "" ((org-agenda-buffer-name "*Todo List*"))))) When sticky agenda is enabled, most of org-agenda Emacs variables become buffer local, and org-agenda-quit is changed to bury the buffer instead of killing it. Correspondingly org-agenda will show previously buried buffer if it exists, instead of re-generating it. This allows user to have many "mini-agendas" and switch between them rapidly I would appreciate any bug-reports about things not working, and of course patches or fixes for them. The most likely cause of any breakage is that `org-agenda-local-vars' list needs adjusting and/or fixing. Regards Max