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.
The documentation, which includes the changelog, can also be found at
http://arbtt.nomeata.de/doc/users_guide/.
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]
Versions |
0.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, 0.9.0.5, 0.9.0.6, 0.9.0.7, 0.9.0.8, 0.9.0.9, 0.9.0.10, 0.9.0.11, 0.9.0.12, 0.9.0.13, 0.10, 0.10.0.1, 0.10.0.2, 0.10.1, 0.10.2, 0.10.2, 0.10.3, 0.10.4, 0.11, 0.11.1, 0.12, 0.12.0.1, 0.12.0.2, 0.12.0.3 |
Change log |
None available |
Dependencies |
aeson (>=0.10 && <1.5), array (>=0.4 && <0.6), attoparsec (>=0.13 && <0.14), base (>=4.7 && <5), binary (>=0.5), bytestring, bytestring-progress, conduit (>=1.2 && <1.4), containers (>=0.5 && <0.7), deepseq, directory, exceptions (>=0.8), filepath, mtl, old-locale, parsec (>=3 && <4), pcre-light, resourcet (>=1.2), strict, terminal-progress-bar (>=0.4 && <0.5), text, time (>=1.4), transformers, unix, unliftio-core, utf8-string, Win32, X11 (>=1.9) [details] |
License |
GPL-2.0-only |
Copyright |
Joachim Breitner 2009-2013 |
Author |
Joachim Breitner <mail@joachim-breitner.de> |
Maintainer |
Joachim Breitner <mail@joachim-breitner.de> |
Category |
Desktop |
Home page |
http://arbtt.nomeata.de/
|
Bug tracker |
https://bitbucket.org/nomeata/arbtt/issues
|
Source repo |
head: git clone https://github.com/nomeata/arbtt |
Uploaded |
by JoachimBreitner at 2019-03-16T17:26:17Z |
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
Other installation options are described in the website.
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 use macOS, you can use launchd
for this.
Create a .plist
file like the following
(with the path changed to match where arbtt-capture is located in your system):
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>de.nomeata.arbtt</string>
<key>Program</key>
<string>/path/to/arbtt-capture</string>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
</dict>
</plist>
and place it in ~/Library/LaunchAgents/de.nomeata.arbtt.plist
.
This will ensure arbtt-capture
is started whenever you log in.
To start the service without needing a new login,
you can run launchctl load ~/Library/LaunchAgents/de.nomeata.arbtt.plist
.
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 of the User’s Guide.
Beware that this will also reflect the latest development version.
Development
You are very welcome to help the developement of arbtt. You can find the
latest source at the git repository at
https://github.com/nomeata/arbtt or
https://bitbucket.org/nomeata/arbtt.
User and Developer discussion happens on the arbtt mailing list:
arbtt@lists.nomeata.de
To subscribe to the list, visit:
http://lists.nomeata.de/mailman/listinfo/arbtt
The issue tracker is hosted on bitbucket:
https://bitbucket.org/nomeata/arbtt/issues
Why Bitbucket and not GitHub? Why not, and we need diversitiy even in the
cloud! (Don’t worry, you can use your GitHub account there.)
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 time of day, to create tags for worktime, weekend, late
at night. (Partially done)
- Storing the current timezone in the tags, for the prevoius entry to be
more to be more useful.
- Storing the hostname, in case a user has several.
- Statistics based on time, to visualize trends.
- Possibly more data sources?
Any help cleaning, documenting or testing the current code is appreciated
as well.
Creating the Windows Installer
The file setup.iss
contains an installer script for Inno Setup and can be used
to create the windows installer for arbtt. It can be used under wine. To build
arbtt under Windows, you need to install the Haskell Platform. Because the
Haskell Platform ships an older version of the w32api package from mingw, you
also need to download w32api-3.14-mingw32-dev.tar.gz
and copy at least the files
include/psapi.h
and lib/libpsapi.a
over the files installed by the Haskell
Platform. For the pcre-light
package, you need to install the pcre
library.
Unless you run a German version of Windows, you’ll need to adjust the path to
the pcre3.dll
file in setup.iss
. Install Inno Setup
. Create the documentation
(make -C doc
) and configure arbtt with the --with-ISCC-flag
:
$ wine runhaskell Setup.hs configure --with-ISCC='C:\Programme\Inno Setup 5\ISCC.exe'
again adjusting the path if you do not have a German version of Windows. This
will put the version name into setup.iss
and create the output file as
dist/arbtt-setup-<version>.exe.
Download links: