Paste this into Bash:

get_screen_time() {
since=${1:-today}
until_opt=${2:+--until "$2"}

journalctl --output json -u systemd-logind --since "$since" $until_opt | \
jq -r 'select(.MESSAGE_ID and .__REALTIME_TIMESTAMP) |
if (.MESSAGE | test("Lid opened|Starting systemd-logind|Operation .suspend. finished")) then
  .__REALTIME_TIMESTAMP + " start"
elif (.MESSAGE | test("Lid closed|Stopping systemd-logind|system will suspend")) then
  .__REALTIME_TIMESTAMP + " stop"
else
  empty
end' | \
awk -v current_time=$(date +%s%6N) '
{
    if ($2 == "start") {
        last_start = $1
    } else if ($2 == "stop" && last_start != 0) {
        total += ($1 - last_start) / 1000000
        last_start = 0
    }
}
END {
    if (last_start != 0) {
        total += (current_time - last_start) / 1000000
    }
    seconds = int(total)
    hours = int(seconds/3600)
    minutes = int((seconds%3600)/60)
    printf "%02d:%02d", hours, minutes
}'
}
PS1='$(get_screen_time) '$PS1

Now you have screen time for today in your prompt:

00:21 user@asus:~/Documents$ 
00:21 user@asus:~/Documents$ cd ../Pictures/
00:21 user@asus:~/Pictures$

Cool?

you are viewing a single comment's thread
view the rest of the comments
[–] 1 point 10 months ago (1 child)

No idea on iOS, specifically left the OS due to its lack of interoperability.

On Android I did test but https://f-droid.org/en/packages/com.atharok.screentime/ or https://f-droid.org/en/packages/godau.fynn.usagedirect/ looks like good candidate. I'm not sure if they have export or publish to API functions but I image at this point would be relatively easy to add.

  • source
  • parent
  • hideshow 1 child comment
  • [–] [S] 1 point 10 months ago

    You know better, I never have had an Android, but some time ago I've tried searching if you can get screen time data older than 2 months and came to conclusion you can't do it on Android either. But probably it's not an issue if you can automate export and perform it regularly.

    It would've been cool to have accumulative screen time across all devices. But as iOS user I don't dream of it.

  • source
  • parent