On Sun, 13 Nov 2011 12:57:21 -0500, Nick Dokos <nicholas.do...@hp.com> wrote:
> > 1) If I don't pass -c to emacsclient, then I need to search all my
> >    workspaces to find where emacs decided to put the capture frame
> > 2) If I pass do pass -c to emacsclient, then I need to close the frame
> >    afterwards. And more significantly, I need to close the empty frame
> >    when I use store-link instead. (I could work around this by using
> >    seperate protocols for for each)
> > 
> 
> Sounds like a worthwhile thing to fix - patches would probably be
> welcome.

I came up with the following hack, which seems to do what I want:

(defadvice org-protocol-check-filename-for-protocol (around 
tp/org-protocol-make-frame activate)
  "Advice org-protocol-check-filename-for-protocol to open windows in new 
frames."
  (flet ((org-switch-to-buffer-other-window (&rest args) ; for org-mks
            (let ((pop-up-frames t))
              (apply 'switch-to-buffer-other-window args)))
         (org-pop-to-buffer-same-window (&rest args)  ; for org-capture
            (let ((pop-up-frames t))
              (apply 'switch-to-buffer-other-window args))))
    (let ((display-buffer-mark-dedicated t))
      ad-do-it)))

Reply via email to