Hi Alan your code seems very intersting and i have been looking for something like this for a while. yet for me it opens a new frame without org capture. i use linux (arch) and put in the following code. please note that when i evaled your code it said: `flet' is an obsolete macro (as of 24.3); use either `cl-flet' or `cl-letf'. so i changed flet to cl-flet and it still didnt work :) here is the code (defun make-orgcapture-frame () "Create a new frame and run org-capture." (interactive) (make-frame '((name . "remember") (width . 80) (height . 16) (top . 400) (left . 300) (font . "Pragmata Pro-16") )) (select-frame-by-name "remember") (delete-other-windows) (flet ((switch-to-buffer-other-window (buf) (switch-to-buffer buf))) (org-capture nil "t"))) ;; delete the frame in that case (add-hook 'org-capture-after-finalize-hook (lambda () (when (equal (cdr (assoc 'name (frame-parameters (selected-frame)))) "remember") (delete-frame)))) any ideas? thx z On Tue, Jun 9, 2015 at 12:22 PM, Alan Schmitt < alan.schmitt@polytechnique.org> wrote: > Hello Eric, > > On 2015-06-08 17:23, Eric S Fraga writes: > > > as monitors get bigger and bigger, I tend to have lots of (emacs) > > windows in a frame. No matter how many I have, org-capture takes over > > the whole frame which is kind of wasteful. > > How about using several frames? For instance I have the following code > bound globally in my OS: > > #+begin_src sh > /usr/local/bin/emacsclient -n -e '(make-orgcapture-frame)' > #+end_src > > The function is defined as follows (with some supporting code to delete > the frame when I'm done): > > #+begin_src emacs-lisp > (defun make-orgcapture-frame () > "Create a new frame and run org-capture." > (interactive) > (make-frame '((name . "remember") (width . 80) (height . 16) > (top . 400) (left . 300) > (font . > "-*-Consolas-normal-normal-normal-*-13-*-*-*-m-0-iso10646-1") > )) > (select-frame-by-name "remember") > (delete-other-windows) > (flet ((switch-to-buffer-other-window (buf) (switch-to-buffer buf))) > (org-capture nil "t"))) > > ;; delete the frame in that case > (add-hook 'org-capture-after-finalize-hook > (lambda () > (when (equal > (cdr (assoc 'name (frame-parameters (selected-frame)))) > "remember") > (delete-frame)))) > #+end_src > > Alan > > -- > OpenPGP Key ID : 040D0A3B4ED2E5C7 > Weekly CO₂ average (2015-05-30, Mauna Loa Observatory): 403.41 ppm >