arbtt – The Automatic Rule-Base Time Tracker

Joachim Breitner

Main author of arbtt 

Sergey Astanin


Martin Kiefel


Muharem Hrnjadovic


Markus Hauck


Thomasz Miąsko


Waldir Pimenta

Documentation writer 

Gwern Branwen

Documentation writer 

Paolo G. Giarrusso


Michal J. Gajda


Table of Contents

Obtaining arbtt
Setting up the capture program
Building the documentation
Development version
Configuring the arbtt categorizer (arbtt-stats)
Configuration example
The semantics (informal)
The syntax
Effective Use of Arbtt
Enabling data collection
Checking data availability
Categorizing advice
Long-term storage
External processing of arbtt statistics
Selecting the current day
Contributed tools
arbtt-capture for GNOME Shell
Program references
arbtt and xmonad
Copyright and Contact
arbtt License
Release Notes
Version 0.12
Version 0.11.1
Version 0.11
Version 0.10.4
Version 0.10.3
Version 0.10.2
Version 0.10.1
Version 0.10
Version 0.9
Version 0.8.1
Version 0.8
Version 0.7
Version 0.6.4
Version 0.6.3
Version 0.6.2
Version 0.6.1
Version 0.6
Version 0.5 (The ZuriHac-Release)
Version 0.4.5
Version 0.4.4
Version 0.4.3
Version 0.4.2
Version 0.4.1
Version 0.4
Version 0.3.0
Version 0.2.0
Version 0.1.5
Version 0.1.4
Version 0.1.3
Version 0.1.2
Version 0.1.1
Version 0.1


arbtt is a background daemon that stores which windows are open, which one has the focus and how long since your last action (and possibly 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.

It is comparable to the window trackers RescueTime, selfspy, TimeSnapper, and Productive Peach; but it differs from the manual timetrackers like Project Hamster which require the user to type a description of their activities.


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.


Obtaining arbtt

See the project website for installation instructions.

Setting up the capture program

To have arbtt gather useful data, you 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.

By default, arbtt-capture will save one data sample per minute. If you want to change that, you can pass --sample-rate RATE to arbtt-capture, where RATE specifies the sample rate in seconds.

Building the documentation

Obviously, you can already read the documentation. If you still want to build it yourself, enter the directory doc/ and run make for the documentation in HTML and PDF format.

Development version

If you want to try the latest unreleased state of the code, or want to contribute to arbtt, you can fetch the code with

darcs get