Getting started with ActivityWatch is as easy as installing, starting it, and setting up autostart (if your installation method doesn’t do it for you).
macOS 10.15 (Catalina) introduced some complications for running ActivityWatch on macOS, see issue #334.
.dmg for the latest release from GitHub and drag the
.app to your Applications folder as usual, then add it to your autostart applications.
The aw-qt application is the easiest way to use ActivityWatch. It creates a trayicon and automatically starts the server and the default watchers.
If you’ve installed by extracting a zip archive, simply run the
./aw-qt binary in the installation directory (either from your terminal or on Windows by double-clicking). You now should see an icon appear in your system tray.
You should now also have the web interface running at localhost:5600 and will in a few minutes be able to view your data in the Activity view!
If you want more advanced ways to run ActivityWatch (including running it without aw-qt), check out the “Running” section of Installing from source.
If you are running GNOME 3 or another desktop that does not support system trays, or if for some reason Qt can’t be used on your machine, read the Installing on GNOME section.
If you are using a proxy, activitywatch will not work by default. To circumvent this you can set the environment variable
HTTP_PROXY before starting aw-qt. How to set an environment variable depends on your operating system, use Google if you are unsure how to do this.
Autostart is set up automatically by the Windows installer and for Arch Linux by the AUR package (if your desktop environment supports XDG Autostart).
You probably want to make ActivityWatch start automatically on login using your operating systems autostart settings.
For some installation methods (Windows installer, AUR package) this is done automatically, but if you don’t use those methods you’ll have to do it yourself. Searching the web for “autostart application <your operating system>” should get you some good results that don’t take long. You want to start the
aw-qt executable in the application directory.
Configuration files for ActivityWatch can be found at the following default locations:
~/.config/activitywatchor the path defined by the
- Mac OS X:
Config options for the server, client, and default watchers are listed below:
hostHostname to start the server on. Currently only
portPort number to start the server on.
storageType of storage for holding buckets and events. Supported types are
hostnameHostname of the server to connect to.
portPort number of the server to connect to.
timeoutTime in seconds with no activity required to become afk.
poll_timeTime in seconds between checks for activity.
update_timeNot yet implemented.
poll_timeTime in seconds between window checks.
exclude_titleDon’t track window titles
update_timeNot yet implemented.
Installing on GNOME¶
As an alternative for users of GNOME 3 and other DEs that don’t support app trays, or simply to avoid depending on Qt, you can place two simple workaround scripts in your ActivityWatch install folder:
#!/bin/bash cd ~/.local/opt/activitywatch # Put your ActivityWatch install folder here ./aw-server/aw-server & ./aw-watcher-afk/aw-watcher-afk & ./aw-watcher-window/aw-watcher-window & # you can add --exclude-title here to exclude window title tracking for this session only notify-send "ActivityWatch started" # Optional, sends a notification when ActivityWatch is started
#!/bin/bash pkill aw- notify-send "ActivityWatch killed" # Optional, sends a notification when ActivityWatch is killed
Don’t forget to
chmod +x start.sh and
chmod +x kill.sh.
Then you can create two desktop files for these scripts to show up among your apps:
[Desktop Entry] Name=Start ActivityWatch Comment=Start AW Exec=~/.local/opt/activitywatch/start.sh Hidden=false Terminal=false Type=Application Version=1.0 Icon=activitywatch Categories=Utility;
[Desktop Entry] Name=Kill ActivityWatch Comment=Kill AW Exec=~/.local/opt/activitywatch/kill.sh Hidden=false Terminal=false Type=Application Version=1.0 Icon=activitywatch Categories=Utility;