I’m self employed. I need to record how much time I spend on whatever task for whatever client.
Sounds simple, but I’m terrible at it. I always get to the end of the day without having recorded anything and not knowing what I’ve actually done.
Basically, I’d like to create a text log of the active window title, and take a screen cap.
I’d like to do this periodically as in every 15 minutes or so.
For the text log I just haven’t been able to achieve this at all.
For the screen caps I can use flameshot to take a screenshot from the CLI, but it makes a sound and shows an animation which is sub-optimal.
Any suggestions of where to look much appreciated.
Edit: I’m not asking for a time tracking app. I want something to log the active window title and take a screen cap so I can figure out what I was doing and write it in my time tracking app.
Kinda cool, interesting. Thanks for the suggestion.
It’s not really suitable for me though. This kinda takes periodic screenshots and makes them searchable.
I need to know what I was doing at different times. So really it’s just the periodic screenshots that I need and the search functionality isn’t useful to me.
“searchable” in the sense that you can ask an AI what you were doing at certain times.
I am pretty sure you could ask it to generate per project timetables from that.
Or at the very least, you can use the codebase to see how they take continuous screenshots. Especially since all the wayland code is clearly seperated in the fork.
Yeah there’s a video on the upstream project page that shows how it works. It’s notreally “AI” so much as OCR. Like if you search “wayland” it will show you the times at which that word was visible on the screen.
I don’t think it accepts a “prompt” like “make a list of activities for me”.
I did have a quick look at how they’re doing it. It’s just a different python lib.
I did however discover, from looking at this project, that the sound and animation from taking a screenshot originates from gnome, not the thing taking the screen shot. There’s some notes in this project explaining how to disable that.
With this in mind, other screenshot apps like flameshot will be fine.
Ah I see, my bad.
Another idea that might or might not work is filming a video at 0.0011 fps (1 frame every 15 min). Not sure if it accepts values that low or handles them correctly.
wf-recorder --framerate=0.0011 --file=timelapse.mkv
Or maybe do a 1 frame video on a loop
while true; do wf-recorder -f frame_$(date +%Y%m%d_%H%M%S).png -t 1 sleep 900 done
As that will use a different interface it might not flash the screen. Just random ideas, no clue if they would work.
Good luck with your project.