#!/bin/bash # Make a new wallpaper #set -x WALLPAPERMAKER () { #{{{ COMMAND="" for FILE in *.jpg do # Resize WIDTH=`jhead $FILE|grep ^Res|awk '{print $3}'` HEIGHT=`jhead $FILE|grep ^Res|awk '{print $5}'` if [ "$WIDTH" -gt "$HEIGHT" ] then nice mogrify -resize 500 $FILE HEIGHT=`jhead $FILE|grep ^Res|awk '{print $5}'` WIDTH=500 else nice mogrify -resize x500 $FILE WIDTH=`jhead $FILE|grep ^Res|awk '{print $3}'` HEIGHT=500 fi # Make the random placing let "min = 0 - ($WIDTH/2)" let "max = 1720 - ($WIDTH/2)" LON=$(($RANDOM % ($max-$min+1) + $min)) if [ "$LON" -ge "0" ] then LON=+${LON} fi min='-100' let "max = 1000 - ($HEIGHT/2)" LAT=$(($RANDOM % ($max-$min+1) + $min)) if [ "$LAT" -ge "0" ] then LAT=+${LAT} fi # LON=`perl -e "printf(\"%+d\n\",int(rand(2020-$WIDTH)) - 50)"` # LAT=`perl -e "printf(\"%+d\n\",int(rand(1300-$HEIGHT)) - 50)"` COMMAND="$COMMAND ${FILE}.png -geometry ${LON}${LAT} -composite" # turn and make into a picture. COLOUR=`convert $FILE -filter Box -resize 1x1 -depth 8 txt:-| tail -n 1|awk '{print $NF}'` nice convert $FILE -bordercolor white -border 25 -bordercolor grey60 -border 1 -background none -rotate `perl -e 'print rand() * 60 - 30'` -background none -flatten temp.png nice gimp --batch-interpreter plug-in-script-fu-eval -i -d -b '(batch-drop-shadow "temp.png")' -b '(gimp-quit 0)' >> /dev/null 2>&1 mv temp.png ${FILE}.png done convert -size 1920x1200 xc:${COLOUR} $COMMAND wallpaper.jpg rm *.png } #}}} COUNT=0 #Remove empty directories find -depth -type d -empty -exec rmdir '{}' \; # OK, lets go for DIR in `find . -type d|grep '/'` do let "COUNT = $COUNT +1" cd $DIR echo "XXXX $DIR XXXX $COUNT XXXX" WALLPAPERMAKER # mv wallpaper.jpg ../`printf %04d $COUNT`_photo_`date +%Y%m%d`.jpg mv wallpaper.jpg ../`printf %04d $COUNT`_polaroid.jpg cd .. done