From mboxrd@z Thu Jan 1 00:00:00 1970 From: David O'Toole Subject: timestamps and work logging Date: Tue, 06 Jun 2006 06:46:24 -0400 Message-ID: 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 1FnZ51-000125-0S for emacs-orgmode@gnu.org; Tue, 06 Jun 2006 06:46:35 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1FnZ4z-00011t-5s for emacs-orgmode@gnu.org; Tue, 06 Jun 2006 06:46:34 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1FnZ4y-00011q-VZ for emacs-orgmode@gnu.org; Tue, 06 Jun 2006 06:46:33 -0400 Received: from [66.249.82.206] (helo=wx-out-0102.google.com) by monty-python.gnu.org with esmtp (Exim 4.52) id 1FnZCK-0000Tb-NI for emacs-orgmode@gnu.org; Tue, 06 Jun 2006 06:54:08 -0400 Received: by wx-out-0102.google.com with SMTP id s19so993047wxc for ; Tue, 06 Jun 2006 03:46:31 -0700 (PDT) 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: emacs-orgmode@gnu.org Hi Carsten. I have another modest proposal for you :-) I notice that org-mode has a concept of timestamp ranges, and a function to calculate the length of time in a given timestamp range. It seems to me that with a small amount of additional work, org-mode could: 1. Provide a function org-clock-in, which lets you signal that you have started working on a particular task. This would start a timestamp range going on that task, so when you clock in on task Foo, you get ** TODO Foo WORK: <2006-06-06 Tue 06:33>--<> 2. Provide a function org-clock-out, which remembers where you last clocked in, and completes the timestamp range: ** TODO Foo WORK: <2006-06-06 Tue 06:33>--<2006-06-06 Tue 06:35> 3. Produce another timestamp range when you clock in again, thus recording all the time intervals when you worked on this task: ** TODO Foo WORK: <2006-06-06 Tue 06:33>--<2006-06-06 Tue 06:35> WORK: <2006-06-06 Tue 06:39>--<> 4. Clock out of task A if you clock in to task B without manually clocking out of task A. 5. Optionally display work time (i.e. no task completion) when log-mode is on in the Agenda buffer. 6. When you call org-clock-total in a particular org-file, sum the time intervals for each task in the file and produce a line like TOTALWORK: 3:14 (3 hours, 14 minutes) (This would make it easy for me to scan the file and produce client bills from the output.) I originally looked at timeclock.el for this, and wrote a simple org interface for it, but I want to keep the time logging information in my org-files, next to each task description, and separated for each client---not all bundled together in a huge ~/.timelog file. What do you think? Does it sound like a lot of work? -- Dave O'Toole dto@gnu.org