Day ?? - New Features!
After 15 hours (got a bit carried away) the next feature is (mostly) finished! You can now monitor and display window data. Every 5 minutes, the collector logs what apps are open and their positions on screen, which you can then visualize on the dashboard.
I thought it would be interesting to combine the click data and the window data in some way, but I decided against it. The reason being that I technically don’t know what app the user clicked since it could have changed in the 5 minutes.
To collect the data I had to run a separate KWin script to get around the restrictions, same as with the clicks. This script gave me the windows as JSON, which I then stored in 2 SQLite tables. One containing general info (one entry per snapshot), and the other containing info about specific windows.
The second major change is the collector’s new UI. It was a relatively small addition, but it makes the whole experience a lot smoother. It also uses the same UI library I was already using to get the monitor configuration which was nice.
Finally, the dashboard now stores the database in cache so everything is preserved when you reload. This change was mostly for me, because having to re-upload the file every time I changed the code got really annoying.
What’s Next
There’s a few finishing touches I need to add before shipping, Specifically:
- Compatibility (KDE only right now)
- Config options (Snapshot frequency, apps to ignore, etc)
- Possibly more window features
yap
I definitely could have done all this way faster but I spent a lot of time fiddling, trying to fully understand everything. Now between the KWin scripts and the dashboard I have a much deeper understanding of Javascript than before which will help in the future. Hopefully I can ship this today or tomorrow so I can start working on my next project
Comments 2
great devlog quality! honestly pretty cool
great devlog quality! honestly pretty cool
Sign in to join the conversation.