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.

Edit: I’m narrowing in on a solution.

Firstly, a lot of previously available solutions don’t work because of recently implemented security features in gnome.

You need to enter unsafe mode by entering this:

global.context.unsafe_mode = true

in the looking glass tool which you can access by running lg in the alt + f2 dialog

thereafter, this can grab the active window title for you:

gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "global.display.focus_window.title"
  • HelloRoot@lemy.lol
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    19 hours ago

    I don’t think it accepts a “prompt” like “make a list of activities for me”.

    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.