Track Your Screen Time in Linux with ActivityWatch
Brief: ActivityWatch is an open-source privacy-friendly app that tracks how you spend your time on a desktop computer or on a mobile device.
ActivityWatch: An open-source app to track how much time you spend on which application
ActivityWatch is a cross-platform open-source app that helps you track time to gauge your productivity. It lets you track the time you spent on applications, browsers, and if you were AFK (away from keyboard) or the system was hibernating.
Not just limited to tracking time, but it offers a bunch of useful features with visualizations that help you easily analyze how you spent time to potentially improve your productivity.
It’s a great alternative to proprietary options like RescueTime and ManicTime.
ActivityWatch is available for Linux, Windows, macOS and Android. It also offers browser extensions for both Chrome and Firefox. As of now, there’s no app available for iOS on the App Store.
It’s fairly new to the scene and is being actively developed to address any existing issues and introduce new features like the ability to sync your activity data across multiple devices.
For privacy-focused users, I should mention that the data collected is stored locally on your device. That’s a good thing as you can track your spent time without being tracked by someone else.
Features of ActivityWatch
Basically, ActivityWatch lets you monitor your activity to analyze bad screen time or improve the time management for what you do on your device.
To break it down, it offers several useful options that I’d like to highlight here:
- Summary of your daily activity with apps/programs sorted as per the time spent using it.
- Track the time of your browser activity using the extension to get the exact data on time spent on every active tab.
- Tracks AFK and not-AFK time. (AFK — abbreviation for “Away From Keyboard” i.e. you’re not in front of your computer)
- Offers different visualizations of timelines to monitor your activity
- Ability to track the time you spend writing code on an editor using watchers.
- History of your activity to analyze your productivity
- Categorize the time spent to help you analyze in detail
- Lets you add more categories and tweak the duration of timeline.
- Ability to export/import your data as JSON file.
- Experimental stopwatch feature
- Stores data locally to respect user privacy.
Installing ActivityWatch on Linux
Note: If your Linux distribution does not support system tray icons, you will have to follow the documentation for a workaround.
Unfortunately, you won’t find an AppImage, Flatpak or Snap for it.
However, you do get an AUR package to install for Manjaro or Arch Linux.
For all other Linux distributions, you get a ZIP file which includes an aw-qt application to run.
To do that, you have to extract the zip archive file and then run the binary to install it by double-clicking on the aw-qt application.
You can also use the terminal as follows:
cd activitywatch-v0.9.2-linux-x86_64/activitywatch ./aw-qt
The location and filename of the extracted folder might differ – so make sure you navigate to the correct directory and then use the commands above. Once done, you can access ActivityWatch from the system tray icon or simply head to localhost:5600 to access it.
You can also check out their GitHub page or the official website to explore more about it.
Just for your information, if you plan on using ActivityWatch regularly, you should move the downloaded files to the /opt directory and create a link to aw-qt executable in /usr/share/bin directory. This way, the application will be available as a regular command for all the users on the system. A similar method has been demonstrated in the PopcornTime installation tutorial.
My Thoughts On ActivityWatch
The time tracking works perfectly fine on Pop!_OS 20.04 with the system tray icon support. You might encounter a bug that doesn’t let you access ActivityWatch from your system tray icon (which is also a known issue on GitHub). In that case, you need to access it through localhost:5600.
Personally, I’m quite satisfied with the features offered considering that I use it on my desktop and have no plans to use it on my smartphone.
I’d definitely recommend you try this nice open-source project and support them along the way. If you like the project, feel free to show your appreciation by adding a star or sponsoring their GitHub repository.
Feel free to let me know your thoughts in the comments below.