>>>>> Colin Dean <
c...@cad.cx> writes:
> Has anyone used Ledger as a means for tracking time?
What a great question! since this is my primary use for Ledger now. :)
Ledger directly supports "timelog" entries, which have this form:
i 2013/03/28 22:13:00 ACCOUNT[ PAYEE]
o 2013/03/29 03:39:00
This records a check-in to the given ACCOUNT, and a check-out. You can be
checked-in to multiple accounts at a time, if you wish, and they can span
multiple days (use --day-break to break them up in the report). The number of
seconds between is accumulated as time to that ACCOUNT. If the checkout uses
a capital "O", the transaction is marked "cleared". You can use an optional
PAYEE for whatever meaning you like.
Now, there are a few ways to generate this information. You can use the
timeclock.el package, which is part of Emacs. Or you can use Org-mode's
time-clocking abilities and my attached org2tc script. Or you can write a
simple script in whichever language you prefer to emit similar information.
These timelog entries can appear in a separate file, or directly in your main
ledger file. The initial "i" and "o" count as Ledger "directives", and are
accepted anywhere that ordinary transactions are.
I further run this program through a program I call "hours", which generates a
text display for me like this (I show this on my desktop at 5 minutes
intervals using GeekTool):
0.8% ↓2.4h (166.7h)
⏱ 1.30h
This shows me my temporal progress against a full-time work month, how many
hours are left in the month, and -- if I'm clocked in -- how many hours I've
worked today. I have this program up on GitHub:
https://github.com/jwiegley/hours
Hope this helps,
John