#!/bin/bash #Make Photo Wallpapers #set -x COUNT=`find $DIR -type f|wc -l` # The making off#{{{ WALL_PAPER_MAKER () { for FILE in `ls *.jpg` do ANGLE=`perl -e 'print rand() * 30 - 15'` COUNTER #Get the name of the person PERSON=`jhead $FILE |grep ^Comment|awk -F": " '{print $NF}'` COLOUR=`convert $FILE -filter Box -resize 1x1 -depth 8 txt:-| \ tail -n 1|awk '{print $NF}'` # Deside size WIDTH=`jhead $FILE|grep ^Res|awk '{print $3}'` HEIGHT=`jhead $FILE|grep ^Res|awk '{print $5}'` if [ "$WIDTH" -gt "$HEIGHT" ] then mogrify -resize x770 $FILE else mogrify -resize x1100 $FILE fi RAND_NUM NUM=">> $NUM" RAND_NAME gimp --batch-interpreter plug-in-script-fu-eval -i -b '(batch-slide "'$FILE'" "'"$NAME"'" "'"$NUM"'")' -b '(gimp-quit 0)' >> /dev/null 2>&1 mv `ls *.png` temp.png convert -page +8+8 temp.png -matte \( +clone -background black -shadow 60x8+8+8 \) \ +swap -background $COLOUR -mosaic -rotate $ANGLE temp2.png mv temp2.png temp.png convert -size 1920x1200 xc:${COLOUR} temp.jpg composite -gravity NorthEast temp.png temp.jpg $FILE rm *.png temp.jpg jhead -cl "$PERSON" $FILE # exit done } #}}} #Randomize the number#{{{ RAND_NUM () { NUM=$RANDOM let "NUM %= 49" NUM=`printf %02d $NUM` } #}}} # Count the files down#{{{ COUNTER () { printf " $COUNT to go. Working on `echo $FILE| awk -F/ '{print $NF}'` \r" let COUNT=COUNT-1 # Give some feedback } #}}} #Random Name#{{{ RAND_NAME () { NAME1="Kodak houghiVision 100" NAME2="Kodak Plus-X" NAME3="Fuji PF-100C" NAME4="Fuji Color" NAME5="Agfa XRS 400" NAME6="Kodak Ektachrome X" NAME7="Portra 400NC" NAME8="FUJI NHG ASA 400" NAME8="Anscochrome T-100 Superior" NAMES="NAME1 NAME2 NAME3 NAME4 NAME5 NAME6 NAME7 NAME8 NAME8" NAME=($NAMES) NUM_NAME=${#NAME[*]} NAME=${NAME[$((RANDOM%NUM_NAME))]} NAME=$NAME NAME="${!NAME}" } #}}} WALL_PAPER_MAKER #Clear the EXIF part gqview .