I have a key which calls `gnus-other-frame`, a handy function that not only
pops up a gnus frame, but also kills the frame when I exit gnus. I'd like
something similar with my org agenda; the following function is used to pop it
up, but I'm not sure how to kill the frame when I hit close the agenda (i.e.
hitting `q`). The result should work whether I'm using sticky agenda or not.
Any suggestions?
--8<---------------cut here---------------start------------->8---
(defun go-or-make-agenda (&optional new-frame)
(interactive "P")
(let ((buffer org-agenda-buffer-name)
(my-switch-function (if new-frame 'switch-to-buffer-other-frame
'switch-to-buffer)))
(if (get-buffer buffer)
(funcall my-switch-function buffer)
(org-agenda-list))))
--8<---------------cut here---------------end--------------->8---