Watchers¶
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.
Browser watchers¶
Watches properties of the active browser tab like title, URL, audible and incognito state.
aw-watcher-web - The official browser extension, supports Chrome, Edge, and Firefox.
Editor watchers¶
Watches the actively edited file and associated metadata like path, language, and project name (folder name of git root)
aw-watcher-vim - vim extension, by @johan-bjareholt and @ahnlabb.
aw-watcher-vscode - Visual Studio Code extension, by @Otto-AA.
pauldub/activity-watch-mode - emacs mode forked from wakatime-mode, by @pauldub.
OlivierMary/aw-watcher-jetbrains - For all JetBrains editors IDEA/Goland/Android Studio/PyCharm/WebStorm/DataGrip/RubyMine/… See compatibility/Download, by @OlivierMary.
LaggAt/ActivityWatchVS - Visual Studio extension, by @LaggAt
pascalwhoop/aw-idea - (WIP) JetBrains IntelliJ IDEA/PyCharm/WebStorm/etc extension forked from wakatime, by @pascalwhoop
kostasdizas/aw-watcher-sublime - Sublime Text 3, by @kostasdizas, and others
NicoWeio/aw-watcher-atom - Atom, by @NicoWeio
pytlus93/AwWatcherNetBeans82 - NetBeans 8.2, by @pytlus93
LordGrimmauld/aw-watcher-obsidian - Obsidian.md extension, by @LordGrimmauld
Media watchers¶
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.
2e3s/aw-watcher-media-player - Watches the currently playing media which is reported by most players to the system.
Other watchers¶
Other watchers to collect all kinds of data.
Alwinator/aw-watcher-table - Monitors whether you have set your height-adjustable table to sitting or standing, by @Alwinator
aw-watcher-input - (WIP) Tracks the number of keypresses and distance that mouse is moved.
akohlbecker/aw-watcher-tmux - A plugin for tmux that allows monitoring activity in sessions and panes, by @akohlbecker
bcbernardo/aw-watcher-ask - (WIP) Periodically poses questions to the user and records her answers.
Alwinator/aw-watcher-utilization - Monitors CPU, RAM, disk, network, and sensor usage, by @Alwinator
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.
sameersismail/aw-watcher-netstatus - Monitors if you’re connected to a network, by @sameersismail.
Importers¶
ActivityWatch can’t track everything, so sometimes you might want to import data from another source.
aw-import-ical, supports importing from
.ical
files or syncing with Google Calendar.aw-importer-smartertime, imports from smartertime (Android time tracker).
aw-import-screentime, attempt at importing from macOS’s Screen Time (and potentially iOS through syncing)
LastFM importer, @ErikBjare has code for it somewhere, ask him if you’re interested.
Custom visualizations¶
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:
Note
Looking for more than just watchers? Check out the awesome-activitywatch list for more projects related to ActivityWatch.
Custom watchers¶
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!