
Show HN: Workflow, a “Screen Time” App for Linux - cunidev
https://gitlab.com/cunidev/workflow
======
cunidev
Creator and developer here. I noticed that the Linux ecosystem currently lacks
even simple graphical screen time apps, so I built one based on the cross-
platform ActivityWatch tool
([https://activitywatch.net](https://activitywatch.net)).

Some technical details:

\- Workflow is written in Python using GTK3. Don't panic about dependencies,
it's already on Flathub

\- As said above, it is a GUI for ActivityWatch, which does all the "dirty
work" of monitoring the user's windows (and their titles) via `aw-watcher-
window-*`.

\- It has only been tested on Xorg so far due to some known ActivityWatch
limitations, yet their team has just released a beta `aw-watcher-window-
wayland` which should work on some desktops. GNOME window tracking on Wayland
is already theoretically possible via introspection APIs, but I currently
don't know if an implementation for ActivityWatch has been made.

\- It is currently interfaced with ActivityWatch via its web REST APIs, and
currently all parsing of information is done on the app side. This could be
done very efficiently using their query API, but documentation for it is still
too limited to rely on.

\- Workflow is still at a very early stage of development, so it won't do much
more than showing how much you used every app each day, and displaying a
simple graph showing weekly usage per day. Most bugs have been sorted out for
the 0.1.1 release, but the UX is still far from optimal.

\- As for any FOSS software, contributions and PRs are extremely welcome.
Opening an issue before starting coding, however, might save you a lot of
time.

Constructive (or constructively destructive) feedback is appreciated.

------
MartijnBraam
Seems to work great, but having to install ActivityWatch seperately is
annoying

~~~
cunidev
Yeah, I'm aware. But zipping everything together in my own Flatpak seems
unfair given how much work I owe to ActivityWatch

