emacs-orgmode
[Top][All Lists]
Advanced

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

[O] Is it possible to automatically set the timestamp recorded in a CLOS


From: Gaizka Villate
Subject: [O] Is it possible to automatically set the timestamp recorded in a CLOSED: annotation to a different time than now?
Date: Wed, 12 Sep 2012 11:38:27 +0200
User-agent: Mutt/1.5.21 (2010-09-15)

Hi there!

I'd like to accomplish this. If anybody can tell me at least if that's a 
feasible thing to do with org-mode, i'll try to develop it myself :)

I log time spent in my tasks (with org-clock), which I usually leave in STARTED 
state (because maybe there was a bug in my code, and I'd need to spend more 
time with them.

At the end of the week, or maybe the next week I go through all STARTED tasks 
and start closing them.

What happens (and that's a normal behaviour) is that the task gets a CLOSED 
timestamp with right now's date and time.

I then adjust it manually to set it to the last clocked-out timestamp (which, 
for me, is the last time I spent working on it).

Would it possible to customize org-mode to do this? Does it even make sense?

I guess I'd have to change this lines of org-todo:

              (when (and now-done-p org-log-done)
                ;; It is now done, and it was not done before
                (org-add-planning-info 'closed (org-current-effective-time))
                (if (and (not dolog) (eq 'note org-log-done))
                    (org-add-log-setup 'done org-state this 'findpos 'note)))
              (when (and org-state dolog)
                ;; This is a non-nil state, and we need to log it
                (org-add-log-setup 'state org-state this 'findpos dolog)))

To call org-current-effective-time with an extra param that takes last 
timestamped clock's end time and returns it instead of org-current-time.

(defun org-current-effective-time ()
  "Return current time adjusted for `org-extend-today-until' variable"
  (let* ((ct (org-current-time))
          (dct (decode-time ct))
          (ct1
           (if (and org-use-effective-time
                    (< (nth 2 dct) org-extend-today-until))
               (encode-time 0 59 23 (1- (nth 3 dct)) (nth 4 dct) (nth 5 dct))
             ct)))
    ct1))


How could I get last timestamped clock's end time?

Thanks a lot for your help, and thanks even more for org-mode!!

-- Gaizka



reply via email to

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