Watchers are the parts of ActivityWatch that do all the data collecting.
ActivityWatch comes bundled with two watchers by default:
aw-watcher-afk - Watches for mouse & keyboard activity to detect if the user is active (by default, an inactive period of at least 3 minutes is flagged as AFK: away from keyboard).
aw-watcher-window - Watches the active window, its title, and it’s url (on Chrome-based browsers & Safari).
The default watchers are collecting some of the most important data. But there is more to collect, so here are some other watchers that let you do so.
Watches properties of the active tab like title, URL, and incognito state.
aw-watcher-web - The official browser extension, supports Chrome, Edge, and Firefox.
Watches the actively edited file and associated metadata like path, language, and project name (folder name of git root)
If you want to more accurately track media consumption.
aw-watcher-spotify - (Beta) Uses the Spotify Web API to get the active track.
aw-watcher-chromecast - (not working yet) Watches what is playing on you Chromecast device.
aw-watcher-openvr - (not working yet) Watches active VR applications.
RundownRhino/aw-watcher-mpv-sender - (WIP) Watches mpv and reports the currently playing video.
Other watchers to collect all kinds of data.
aw-watcher-input - (WIP) Tracks the number of keypresses and distance that mouse is moved.
bcbernardo/aw-watcher-ask - (WIP) Periodically poses questions to the user and records her answers.
abdnh/aw-watcher-anki - An add-on for Anki that tracks time spent reviewing cards.
Edwardsoen/aw-watcher-steam - A Watcher to monitor current game being played.
2e3s/awatcher - A compiled watcher for X11 and Wayland to replace the original active window and AFK watchers, with workarounds for KDE and Gnome on Wayland.
RTnhN/aw-watcher-toggl - A Watcher to import time entries from Toggl.
flexagoon/aw-watcher-gnome - A watcher to use ActivityWatch on GNOME with Wayland
Custom watchers might not be supported by the default visualizations, but ActivityWatch offers a way for watchers to provide their own visualizations. It is currently an experimental feature, but the following watchers have experimental custom visualizations:
For help on how to write your own watcher, see Writing your first watcher.
Have you written one yourself? Send us a PR to have it included!