#!/bin/sh rotate=0 crop=0 cur=noname.ppm ctr=${1:-1} ctr=$(( $ctr - 1 )) scan() { resolution=$1 shift scanimage --format=pnm --progress --resolution=$resolution --mode=Color $@ > tmp.ppm } process() { pamflip -rotate$rotate | pnmcrop -closeness=$crop } preview() { pnmscale -w 600 < tmp.ppm | process > preview.ppm sxiv preview.ppm } do_next() { rotate=180 crop=50 ctr=$(( $ctr + 1 )) cur=`printf "%03d.ppm" $ctr` } do_next while : ; do echo "$cur: (v)iew r(otate) c(rop) (s)can (p)review (n)ext" read c case $c in v) scan 150 preview ;; s) scan 1600 --high-quality=yes preview ;; p) preview ;; n) cat tmp.ppm | process > $cur do_next ;; r) read rotate echo Rotate: $rotate ;; c) read crop echo Crop: $crop ;; *) echo ? ;; esac done