emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] Prompt for time when clocking in?


From: Nathan Neff
Subject: Re: [O] Prompt for time when clocking in?
Date: Thu, 20 Oct 2011 12:44:54 -0500

> Two minor nits: t is a constant so you don't need to quote it; emacs-lisp
> mode helps with indentation (putting it in a code block - see below -
> in an org file and using C-c ' to edit it works wonderfully).

Thanks for your suggestions re: using Emacs to edit
lisp code and using the t in lieu of 't -- I appreciate these types
of style/coding comments immensely!

>
> I'm not sure whether 'tis better to specify relative or absolute times
> ("let's see: I should have clocked in 15 mins ago" vs "Let's see: I
> should have clocked in at 12:20"), but just in case you want to try the
> alternatives, here are two dummy function functions for the two
> alternatives - they just print the result time in the echo area.

Nick, I like the ability to just type "15", but I also like the
ability to use the
familiar org-calendar in case I want to get fancier (for example, I
forgot to clock
something that I worked on yesterday)

It would be a cool feature of org-read-date to be able to type "-15M"
and have org-read-date go back 15 minutes from the current date/time.
I played around with org-read date for something like -"15m" and
"-15M", but the "-15m" went back 15 *months*, not minutes.

Does anyone know if there's a way to specify a relative *time* using
org-read-date?  For example, something like -15M would be "15 minutes
earlier"?

Thanks,
--Nate
>
> The rel time can use a prefix arg (ESC -15 M-x
> rel/dummy-clock-in-at-time) or the minibuffer if no prefix arg is
> specified (and you might want to bias it towards the past, so 15 = 15
> mins ago and -15 = 15 mins from now, but that might be a bit
> perverse).
>
> FWIW, I think I would tend to prefer your implementation, but since I
> clock nothing, I'm no expert :-)
>
> Nick
>
> #+begin_src elisp
>
> (defun rel/dummy-clock-in-at-time (nmin)
>  (interactive "N+/-minutes: ")
>  (setq start-time (time-add (current-time) (seconds-to-time (* nmin 60))))
>  (message (format-time-string "%H:%M:%S" start-time)))
>
> (defun abs/dummy-clock-in-at-time()
>  (interactive)
>  (setq start-time (org-read-date t t))
>  (message (format-time-string "%H:%M:%S" start-time)))
>
> #+end_src
>
>
>
>> It's a bit wonky if you clock in to a past time, and then you want to
>> resolve that clock, but my main use-case for now is this:
>>
>> 1) I start doing something
>> 2) I forgot to clock in
>> 3) I don't want to press 8 keys in order to clock in 15 minutes ago.
>>
>> This solution should work for now.  Although, I could see it being a
>> handy way to
>> prompt for clock-in *and* clock-out times.
>>
>> Thanks for the suggestions,
>>
>> --Nate
>>
>> On Wed, Oct 19, 2011 at 10:35 AM, Nick Dokos <address@hidden> wrote:
>> > John Hendy <address@hidden> wrote:
>> >
>> >> On Wed, Oct 19, 2011 at 9:54 AM, Nathan Neff <address@hidden> wrote:
>> >> > Is there a way to pull up a date/time prompt when clocking in to a task?
>> >> >
>> >> > Sometimes, I started a task 15 minutes ago, and have to go through the 
>> >> > following
>> >> > steps:
>> >> >
>> >> > 1) clock in on the task,
>> >> > 2) Go to the CLOCK section for that header and press tab to open it
>> >> > 3) Fix the clock-in time
>> >> >
>> >> > If it's not built in, does anyone have any slick functions that would 
>> >> > accomplish
>> >> > the same thing? :-)
>> >>
>> >> Check out a thread I started a bit back on this exact topic:
>> >> --- http://www.mail-archive.com/address@hidden/msg40498.html
>> >>
>> >> It wasn't exactly what I expected, the suggestion by Bernt for `M-x
>> >> org-resolve-clocks` works reasonably well if you are trying to clock
>> >> back-to-back activities. Post back after you read that perhaps? Maybe
>> >> you'll find something helpful.
>> >>
>> >
>> > org-clock-in takes an optional start-time argument which is used instead
>> > of the current time when non-nil. So I tried
>> >
>> > (setq ct (current-time))
>> > (setq start-time (cons (car ct) (list (- (cadr ct) 900) (caddr ct))))
>> >
>> > and started a clock on a task with
>> >
>> > ESC ESC : (org-clock-in nil start-time)
>> >
>> > and it got clocked in 15 minutes before the current time.
>> >
>> > Now I don't propose this as a good UI :-), but it would require just a
>> > small wrapper for it to dtrt.
>> >
>> > HTH,
>> > Nick
>> >
>> >
>> >
>>
>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]