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

Reply via email to