The arbtt package

[Tags: gpl, program]

arbtt is a background daemon that stores which windows are open, which one has the focus and how long since your last action (and possbly more sources later), and stores this. It is also a program that will, based on expressive rules you specify, derive what you were doing, and what for.

WARNING: The log file might contain very sensitive private data. Make sure you understand the consequences of a full-time logger and be careful with this data.


[Skip to ReadMe]

Properties

Versions0.1, 0.1.1, 0.1.2, 0.1.3, 0.1.4, 0.1.5, 0.2.0, 0.3.0, 0.4, 0.4.1, 0.4.2, 0.4.3, 0.4.4, 0.4.5, 0.4.5.1, 0.5, 0.6, 0.6.1, 0.6.2, 0.6.4, 0.6.4.1, 0.7, 0.8, 0.8.1, 0.8.1.1, 0.8.1.2, 0.8.1.3, 0.8.1.4, 0.9, 0.9.0.1, 0.9.0.2, 0.9.0.3, 0.9.0.4
Change logNone available
Dependenciesbase (==4.*), binary, bytestring, containers, directory, filepath, mtl, parsec (==2.*), pcre-light, time, unix, X11 (>1.4.4) [details]
LicenseGPL
CopyrightJoachim Breitner 2009
AuthorJoachim Breitner <mail@joachim-breitner.de>
MaintainerJoachim Breitner <mail@joachim-breitner.de>
CategoryDesktop
Home pagehttp://www.joachim-breitner.de/projects#arbtt
Source repositoryhead: darcs get http://darcs.nomeata.de/arbtt
Executablesarbtt-recover, arbtt-dump, arbtt-stats, arbtt-capture
UploadedThu Oct 29 22:34:51 UTC 2009 by JoachimBreitner
DistributionsDebian:0.9.0.4, LTSHaskell:0.9.0.4, NixOS:0.9.0.4, Stackage:0.9.0.4
Downloads5728 total (278 in last 30 days)
Votes
0 []
StatusDocs not available [build log]
All reported builds failed as of 2015-05-23 [all 2 reports]

Downloads

Maintainers' corner

For package maintainers and hackage trustees

Readme for arbtt-0.4.2

arbtt, the Automatic Rule-Based Time Tracker

© 2009 Joachim Breitner <mail@joachim-breitner.de>

The Automatic Rule-Based Time Tracker is a desktop daemon that runs in the
background and, every minute, records what windows are open on your
desktop, what their titles are, which one is active. The accompanied
statistics program lets you derive information from this log file, i.e.
what how much of your time have you been spending with e-Mail, or what
projects are your largest time wasters. The mapping from the raw window
titles to sensible „tags“ is done by a configuration file with an powerful
syntax.

Installation
============

You can build and install this program as any other Cabalized program:
 $ runhaskell Setup.hs configure
 $ runhaskell Setup.hs build
 $ runhaskell Setup.hs install

You also need to make sure that arbtt-capture is started with your X
session. If you use GNOME or KDE, you can copy the file
"arbtt-capture.desktop" to ~/.config/autostart/. You might need to put the
full path to arbtt-capture in the Exec line there, if you did not do a
system wide installation.

If you want to record samples at a different rate than one per minute, you
will have to pass the "--sample-rate" parameter to arbtt-capture. 

Documentation
============

Full documentation is now provided in the user manual in the doc/
directory. If you have the docbook xsl toolchain installed, you can
generate the HTML documentation by entering "make" in that directory.
Otherwise, you can use the online version at
http://darcs.nomeata.de/arbtt/doc/users_guide/
Beware that this will also reflect the latest version.

Development
===========

You are very welcome to help the developement of arbtt. You can find the
latest source at the darcs repository at
  http://darcs.nomeata.de/arbtt

Some of my plans or ideas include:

 * A graphical viewer that allows you to expore the tags in an appealing,
   interactive way. Possibly based on the Charts haskell library.
 * Looking forward and backwards in time when writing rules. (Information
   is already passed to the categorizing function, but not exposed to the
   syntax).
 * $total_idle time, which is the maximum idle time until it is reset. This
   would allow the user to catch the idle times more exactly.
 * Rules based on day of time, to create tags for worktime, weekend, late
   at night. (Partially done)
 * Statistics based on time, to visualize trends.
 * Possibly more data sources?

Any help cleaning, documenting or testing the current code is appreciated
as well.