TimeTracker - an X-windows timekeeper

Harald Tveit Alvestrand, UNINETT
Like GNU

DigiCash donations accepted

What is it?

TimeTracker is an Athena Widget-based program to keep track of time.

It puts up a list of projects, and the number of minutes worked on each. You click on the project you want to work on, and it starts counting on that. At the end of the day, it saves the collected data in a file, and you can use a script to process the data. "sumtitrax" is one possible such script.

There are a couple of man pages floating around.

Whatever you do about it, please tell me.

The source for TimeTracker 1.98 is available from:

The beta versions, including the Windows version, can be found on the beta page

Some history

TimeTracker used to be called Timex. I was made aware (in a very nice fashion; they even sent me a nice watch!) that Timex is a Registered Trademark of the Timex corporation, which sponsors some nice URLs like this one.

Because of this name conflict, the name was changed to TimeTracker. The vestiges of the old name that are still present in the product should be just that if a .timex directory exists in your home directory, and no .TimeTracker directory, TimeTracker will use the .timex directory. Also, the environment variable TIMEXDIR is checked if TIMETRACKDIR is not set.

The mailing lists will also change their name Real Soon Now; the old names will become aliases.


If you are lucky:

  1. Untar the software. It untars into a directory named "titrax-1.98";
  2. Inspect the imakefile. You may want to change NONXBINDIR and PERLLIBDIR.
  3. % xmkmf
    This creates a makefile configured for *your* system. I'm almost certain the included one will bite you.
  4. % make
  5. % make test
    This takes TimeTracker for a "test ride", using the directory "test.TimeTracker" in the current directory.
  6. (as root) # make install
  7. % titrax

If you are unlucky, mumble. If you find out why you are unlucky, send me an E-mail about it.

Tested on a lot of platforms, thanks to the beta test corps (you know who you are, THANKS!):

Some types that are currently running it are listed on my usage statistics Webpage, which is updated every night.

If you have a platform not on this list, you are welcome to join the beta tester corps! Write timex-beta-request@uninett.no to get on the list.


As distributed, TimeTracker will send an UDP packet to my workstation every time it is started, containing your (numeric) UID, your operating system and the TimeTracker version.
This is JUST because I would like to get an idea of how many people use TimeTracker, and keep on using it (rather than "tried it once" folks). It will NEVER become a licensing scheme or some crazy thing like that.
This also forms the basis of the usage statistics Webpage.

But, if your netadmins hate unknown UDP packets zooming off to unknown hosts, simply uncomment the following line to the IMAKEFILE:


This will not only stop the call, but will drop the whole content of udping.c, which will also block any errors caused by differences in the socket implementation.


I wrote this program because I needed it. After I released the first version, I got the feeling that other people may need it too.

You may copy it and modify it in any way you like, including selling it. I would have liked to use the GNU public license, but haven't done so at the moment. But if you can do what you want to do under the GNU license, you are allowed to!

As usual, there is no guarantee about anything at all, and you are not able to claim that I have done any damage to you by providing you with this program; any use you make of it is entirely at your own risk.

If you like it, you are free to send me the price of a large pizza (my favourite costs around NOK 120 / USD 20 around Trondheim). Or not, if you don't feel like it.

DigiCash contributions

As an experiment, I'm setting up the necessary machinery to accept payment in CyberBucks from the DigiCash exeriment in online payment. If you would like to pay for TimeTracker using DigiCash, just click here to be queried for 5 CyberBucks.

If you don't have that many CyberBucks, you might just try it for 10 CyberCents by clicking here.


A lot of people have found bugs in TimeTracker. A lot of people are interested in further versions, suggestions for new ways to use it and so on. A few are even willing to do some work to help me test it. So, I have two mailing lists set up:

For general interest
Mail titrax-request@uninett.no to join.
For testing new versions before I inflict them upon the unwary public.
Mail titrax-beta-request@uninett.no to join.

Archives are stored on aun.uninett.no, in the directory "drifts-data/postlister/arkiv", in mailbox format. Older archives use the "timex" name.

You can view the files directly, but I don't recommend it.

(Yes, I want to take time to install a HyperMail archive facility. But time is what I haven't got - sorry 'bout that!)


The following people have all contributed code or patches to TimeTracker.

It is surely not an exhaustive list - I apologize in advance for any people I have forgotten to include. This has been a LONG project!

Bob Gibson <rjg@sco.com>
contributed signal handling.
Taed Nelson <nelson@berlioz.nsc.com>
contributed the pause button.
Bruce Steinke <bsteinke@dsd.es.com>
contributed the project editor, easiest the biggest patch I got! He would not recognize the current version, but thanks anyway!
George Carrette <gjc@mitec5.mitech.com>
contributed the VMS stuff. It is supposed to work on VMS now.
Michael J. Shon <mjs@tropel.gca.com>
contributed the TIMETRACKDIR variable.
Mark Rawling <Mark.Rawling@mel.dit.csiro.au>
contributed the code for displaying the project and used time in the icon name.
Bill Randle <billr@saab.cna.tek.com>
made the first icon for TimeTracker, and gave me code to produce an icon. Sorry it took so long!
He also contributed the -minutes and -monthday options to sumTimeTracker.
Grant Totten <ccgwt@blaze.trentu.ca>
supplied the current TimeTracker icon.
Mike Gleichner <mkg@stealth.plk.af.mil>
made it run on a NEXT
Shane Youl <Shane.Youl@mel.dit.csiro.au>
supplied the first multilingual version of sumtitra, and most of the non-English, non-Norwegian strings.
Gilles Goullet <Gilles.GOULLET@iacorp.fr>
supplied some more French for the multilingual ability
Per Hallenborg <hbg@vattenfall.se>
contributed Swedish text for SumTimeTracker.
Tim Rosmus <tim@mdd.comm.mot.com>
contributed the AutoPause function (it only took me 1 1/2 years to get it in there - sorry!)
Jonathan I. Kamens <jik@cam.ov.com>
contributed "tTimeTracker" and the "startday" and "numdays" options to sumTimeTracker, and various other optins

Too many people to list them all pointed out elementary errors in my code and gave hints for increasing portability.


E-mail (for bug reports and so on):

  Harald Tveit Alvestrand <Harald.T.Alvestrand@uninett.no>

Physical (for pizzas)

  Harald Tveit Alvestrand
  Weidemanns vei 27

Last modified: Wed Jun 19 15:25:32 1996