From mboxrd@z Thu Jan 1 00:00:00 1970 From: James TD Smith Subject: Re: Setting PROPERTIES in remember templates automatically Date: Fri, 27 Nov 2009 12:53:38 +0000 Message-ID: <20091127125338.GE2013@yog-sothoth.mohorovi.cc> References: <87zl688fjd.fsf@thinkpad.tsdh.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NE0Kc-0007VE-3r for emacs-orgmode@gnu.org; Fri, 27 Nov 2009 07:53:50 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1NE0KV-0007RX-Mp for emacs-orgmode@gnu.org; Fri, 27 Nov 2009 07:53:47 -0500 Received: from [199.232.76.173] (port=39759 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NE0KV-0007R6-8J for emacs-orgmode@gnu.org; Fri, 27 Nov 2009 07:53:43 -0500 Received: from 81-86-40-42.dsl.pipex.com ([81.86.40.42]:57209 helo=yog-sothoth.mohorovi.cc) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1NE0KU-0000xU-IG for emacs-orgmode@gnu.org; Fri, 27 Nov 2009 07:53:43 -0500 Content-Disposition: inline In-Reply-To: <87zl688fjd.fsf@thinkpad.tsdh.de> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Tassilo Horn Cc: emacs-orgmode@gnu.org Hi Tassilo, On 2009-11-27 10:48:06(+0100), Tassilo Horn wrote: > What I'd like to have is something like the existing > > %^{prop}p Prompt the user for a value for property `prop' > > but more like > > %{prop,escape}p Insert property `prop' with value taken from escape, > if that is non-nil > > With this > > "%{created,U} %{link,a}" > > in a template would always create a :created: property with an inactive > timestamp, and :link: would only be inserted, if there is an annotation > for that remember invocation. > > What do you think? I've actually got something like this working, as part of a whole load of improvements to remember which I've been working on for ages. If you want to take a look it's in the remember-lite branch at git://yog-sothoth.mohorovi.cc/org-mode. The first major change is that remember templates are now plists. Old-style templates are automatically converted to the new format, but if you want to access any of the new features you will need to use the new template format, and add your templates to org-remember-templates-2. Properties are now set by adding a :properties property to the list. This should be followed by a list containing either: - A string. Query the user for the property value. - A cons cell. The head should be a string (the property name) and the tail can be either: - Another string: add the property with that string as its value - A variable: add the property with the value of the variable - A function: call the function to get the property value. There is also a variable `org-remember-default-properties', for properties you want added to all remembered items. Mine is set like this --8<---------------cut here---------------start------------->8--- (setq org-remember-default-properties '(("CREATED" . (lambda () (format-time-string (org-time-stamp-format t t) org-remember-current-time))) ("CONTEXT" . (lambda () (if (and (marker-buffer org-clock-marker) (not (eq (marker-buffer org-clock-marker) (current-buffer)))) (org-substring-no-properties org-clock-heading) "Idle"))))) --8<---------------cut here---------------end--------------->8--- which adds two properties to every item I remember, one containing the current time as an inactive timestamp and the other containing the name of the currently clocked task or 'Idle' if I'm not clocked into anything. Here's an example template with properties: --8<---------------cut here---------------start------------->8--- (:key ?r :type headline :name "Book" :target "~/Personal/ReadingList.org::Books" :properties ("AUTHOR" "ISBN") :tag t :tagscope file :template "* MEDIA %^{Title} %?") --8<---------------cut here---------------end--------------->8--- When I remember something using this template, the CREATED and CONTEXT properties are added automatically, and I get asked for the values for AUTHOR and ISBN. Anyway, there are lots of other changes, and probably a few bugs, and there isn't much in the way of documentation yet :). Let me know how you get on. James -- |---|