A similar question was asked herehere. Try this solution:
(with-current-buffer ;; initialize org-agenda here ;; this sexp MUST return a buffer, ;; to be used by with-current-buffer (blah blah initialize org-agenda blah blah) (make-frame '((unsplittable . t))) (set-window-dedicated-p (get-buffer-window (current-buffer) t) t)) Disclaimer: I, personally, don't use org-agenda, so I can't guarantee that this will work. It should if org-agenda behaves nicely.