emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Marco Wahl <marcowahlsoft@gmail.com>
To: emacs-orgmode@gnu.org
Subject: Re: org-capture/remember in Emacs 24.4.1?
Date: Mon, 27 Oct 2014 10:27:07 +0100	[thread overview]
Message-ID: <84bnoxlv6c.fsf@tm6592.fritz.box> (raw)
In-Reply-To: 87vbn6p0p1.fsf@jnanam.net

Hi Benjamin,

Benjamin Slade <slade@jnanam.net> writes:

> I had the following snippets in my .emacs which allowed me to call up a
> mini-emacsclient frame to quickly add notes and TODOs etc.  It doesn't
> seem to work anymore (it comes up, but as soon as I choose [t], [n]
> etc. it disappears).  Is there an updated recommendation on how to do
> this?
>
> ###################################
> (defcustom remember-frame-alist nil
> "Additional frame parameters for dedicated remember frame."
> :type 'alist
> :group 'remember)
>
> (defadvice remember (around remember-frame-parameters activate)
> "Set some frame parameters for the remember frame."
> (let ((default-frame-alist (append remember-frame-alist default-frame-alist)))
> ad-do-it))
>
> ;;;
>
> (defun make-remember-frame ()
>   "turn the current frame into a small popup frame for remember mode;
>  this is meant to be called with 
>       emacsclient -c -e '(make-remember-frame)'"
>   (modify-frame-parameters nil
> 			   '( (name . "*Remember*") ;; must be same as in mode-hook below  
> 			      (width .  80)
> 			      (height . 20)
> 			      (vertical-scroll-bars . nil)
> 			      (menu-bar-lines . nil)
> 			      (tool-bar-lines . nil)))
>   (set-frame-parameter (selected-frame) 'alpha '(85 50))
>   (org-capture)
>   (when (fboundp 'x-focus-frame) (x-focus-frame nil)) ;; X only....
>   (delete-other-windows)
>   ) 
>
> ;; when we're in such a remember-frame, close it when done. (doesn't work when cancelled...)
> (add-hook 'org-capture-mode-hook
> 	  (lambda()
> 	    (define-key org-capture-mode-map (kbd "C-c C-c")
> 	      '(lambda()(interactive)
> 		 (let ((capture-frame-p 
> 			(string= (frame-parameter nil 'name) "*Remember*")))
> 		   (when capture-frame-p (make-frame-invisible))  ;; hide quickly
> 		   (org-capture-finalize)
> 		   (when capture-frame-p (delete-frame)))))))
>
>
> (setq org-capture-templates
>       '(("t" "Todo" entry (file+headline "~/Documents/Org/ToDo.org" "Captured Tasks")
> 	 "* TODO %?\n  %i\n  %a")
>         ("n" "Notes" entry (file+headline "~/Documents/Org/Notes.org" "Captured Notes")
> 	 "* %?\nEntered on %U\n  %i\n  %a")
> 	("m" "Meetings" entry (file "~/Documents/Org/Meetings.org" )
> 	 "* %?\n %i\n  %a")
> 	("c" "Clipboard" entry (file+headline "~/Documents/Org/Notes.org" "Captured Notes")
> 	 "* %x %?\nEntered on %U\n  %i\n  %a")))

Your code works for me (Emacs 25 with a current Org from the git
repo).

Just guessing: Do you have installed a further hook for deleting frames
in certain situations which might be the wrongdoer?


HTH,  Marco
-- 
http://www.wahlzone.de
GPG: 0x0A3AE6F2

      reply	other threads:[~2014-10-27  9:27 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-27  4:59 org-capture/remember in Emacs 24.4.1? Benjamin Slade
2014-10-27  9:27 ` Marco Wahl [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=84bnoxlv6c.fsf@tm6592.fritz.box \
    --to=marcowahlsoft@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).