Re: [O] org-capture -- optionally add time-of-day as with C-c . ?
Hi Aaron, * Aaron Ecay [160210 11:22]: > Using %^T seems to give the desired behavior you describe in your > message. Can you try it and see if it works for you? (Regrettably, > it’s not obvious from the docstring of ‘org-capture-templates’ that it > should behave like that, since %T is supposed to insert a time > unconditionally. But in my testing, %^T only inserts a time if one is > entered by the user.) I just tried %^T and it did not work -- a time-of-day was included in all cases. What *did* work however is the lowercase %^t version. With that in my org-capture template, just the date is inserted, except when an explicit time-of-day is entered at the minibuffer prompt. Then that time is added after the date. This makes picking dates & times with org-capture a breeze. Thanks for clueing me in! John -- John Magolske http://b79.net/contact
Re: [O] org-capture -- optionally add time-of-day as with C-c . ?
Hi John, On 02/10/2016 04:22 AM, John Magolske wrote: In setting up org-capture, I'd like to have behaviour similar to what `org-time-stamp` provides, which by default is bound to: C-c . That command in org-mode brings up a 3-month calendar and a minibuffer prompt for entering a date. With nothing entered at the prompt, just a RET, a timestamp with the current date is inserted like so: <2016-02-09 Tue> If a date is picked from the calender, say March 26, then that date is inserted: <2016-03-26 Sat> If, for example, 2pm is entered at the minibuffer prompt and March 8 is picked from the calender, then a timestamp like so gets inserted: <2016-03-08 Tue 14:00> I find this to be a very nice, intuitive interface. Time-of-day is easily added, but only if explicitly input. Otherwise just the date shows up. I'm having a hard time setting this up for org-capture... I can get close with something like: (setq org-capture-templates '(("t" "todo" entry (file+headline "~/org/todo.org" "Tasks") "* TODO %?\nSCHEDULED: %(org-insert-time-stamp (org-read-date nil t) t)\n"))) But that always inserts a time-of-day into the timestamp, using the current time if nothing is input at the minibuffer prompt. So if I just pick March 8 from the calender, that date will be inserted along with the current time-of-day like so: ** TODO SCHEDULED: <2016-03-08 Mon 00:53> Which pretty much always necessitates a manual edit of the time to either remove it or adjust it to something relevant. When explicitly adding a time value at the prompt in the minibuffer, 2pm for example, then picking March 8, this would show up: ** TODO SCHEDULED: <2016-03-08 Tue 14:00> And that works great. It's just the aforementioned situation where no time-of-day is entered and the current time-of-day gets associated with some future-date timestamp rather than just having that date show up by itself with no time-of-day. Is there some way to have the `C-c .` behaviour outlined above happen in org-capture? Have you tried the template expansion %^T (active time stamp prompt with date and time); Also %^U is the inactive equivalent, etc. Charlie Millar
Re: [O] org-capture -- optionally add time-of-day as with C-c . ?
Hi John, Using %^T seems to give the desired behavior you describe in your message. Can you try it and see if it works for you? (Regrettably, it’s not obvious from the docstring of ‘org-capture-templates’ that it should behave like that, since %T is supposed to insert a time unconditionally. But in my testing, %^T only inserts a time if one is entered by the user.) -- Aaron Ecay
[O] org-capture -- optionally add time-of-day as with C-c . ?
In setting up org-capture, I'd like to have behaviour similar to what `org-time-stamp` provides, which by default is bound to: C-c . That command in org-mode brings up a 3-month calendar and a minibuffer prompt for entering a date. With nothing entered at the prompt, just a RET, a timestamp with the current date is inserted like so: <2016-02-09 Tue> If a date is picked from the calender, say March 26, then that date is inserted: <2016-03-26 Sat> If, for example, 2pm is entered at the minibuffer prompt and March 8 is picked from the calender, then a timestamp like so gets inserted: <2016-03-08 Tue 14:00> I find this to be a very nice, intuitive interface. Time-of-day is easily added, but only if explicitly input. Otherwise just the date shows up. I'm having a hard time setting this up for org-capture... I can get close with something like: (setq org-capture-templates '(("t" "todo" entry (file+headline "~/org/todo.org" "Tasks") "* TODO %?\nSCHEDULED: %(org-insert-time-stamp (org-read-date nil t) t)\n"))) But that always inserts a time-of-day into the timestamp, using the current time if nothing is input at the minibuffer prompt. So if I just pick March 8 from the calender, that date will be inserted along with the current time-of-day like so: ** TODO SCHEDULED: <2016-03-08 Mon 00:53> Which pretty much always necessitates a manual edit of the time to either remove it or adjust it to something relevant. When explicitly adding a time value at the prompt in the minibuffer, 2pm for example, then picking March 8, this would show up: ** TODO SCHEDULED: <2016-03-08 Tue 14:00> And that works great. It's just the aforementioned situation where no time-of-day is entered and the current time-of-day gets associated with some future-date timestamp rather than just having that date show up by itself with no time-of-day. Is there some way to have the `C-c .` behaviour outlined above happen in org-capture? TIA for any help, John -- John Magolske http://b79.net/contac