e951311286cd50c50769b7c3e25dfc6f0c9a9d20
[distro-setup] / ziva-screen
1 #!/bin/bash
2
3 # Get screenshots from bow, discard them if they dont change much.
4
5 source /usr/local/lib/err
6 [[ $EUID == 0 ]] || exec sudo -E "${BASH_SOURCE[0]}" "$@"
7
8 f=/run/user/1000/ziva-tmp.jpg
9
10 cd /d/ziva-log
11 shopt -s nullglob
12 jpgs=( 20*jpg )
13 if (( ${#jpgs[@]} >= 1 )); then
14 lastf=$(ls -1 20*jpg | tail -n1)
15 fi
16
17 ssh bow DISPLAY=:0 scrot -z $f 2>/dev/null || exit 0
18 rsync --inplace bow:$f /d/ziva-log 2>/dev/null || exit 0
19 ssh bow rm -f $f
20
21 same=false
22 if [[ $lastf ]]; then
23 # returns 2 on error, but maybe in that case we want to ignore, file the image away
24 # and then it can go away in a subsequent comparison. going with that for now.
25 diff=$(compare -metric MSE $lastf ziva-tmp.jpg /dev/null |& sed 's/[^0-9].*//') ||:
26 if printf "%s\n" "$diff" | egrep '^[0-9]+$' &>/dev/null && (( diff < 200 )); then
27 same=true
28 fi
29 fi
30
31 if $same; then
32 rm -f ziva-tmp.jpg
33 else
34 mv ziva-tmp.jpg $(date +%F.%R).jpg
35 fi