#!/bin/bash # Get screenshots from bow, discard them if they dont change much. source /usr/local/lib/err [[ $EUID == 0 ]] || exec sudo -E "${BASH_SOURCE[0]}" "$@" f=/run/user/1000/ziva-tmp.jpg cd /d/ziva-log shopt -s nullglob jpgs=( 20*jpg ) if (( ${#jpgs[@]} >= 1 )); then lastf=$(ls -1 20*jpg | tail -n1) fi ssh bow DISPLAY=:0 scrot -z $f 2>/dev/null || exit 0 rsync --inplace bow:$f /d/ziva-log 2>/dev/null || exit 0 ssh bow rm -f $f same=false if [[ $lastf ]]; then # returns 2 on error, but maybe in that case we want to ignore, file the image away # and then it can go away in a subsequent comparison. going with that for now. diff=$(compare -metric MSE $lastf ziva-tmp.jpg /dev/null |& sed 's/[^0-9].*//') ||: if printf "%s\n" "$diff" | egrep '^[0-9]+$' &>/dev/null && (( diff < 200 )); then same=true fi fi if $same; then rm -f ziva-tmp.jpg else mv ziva-tmp.jpg $(date +%F.%R).jpg fi