#!/bin/bash #set -x # DIR=/home/houghi/wallpaper FILE_DIR=/media/movies/wallpaper_backup/1920x1200/ WALLPAPER_LIST=$DIR/wallpaper_list LATEST=$DIR/latest_files for COUNT in `seq 0 1` do test -f $WALLPAPER_LIST || touch $WALLPAPER_LIST LINES=$((`wc -l < $WALLPAPER_LIST`)) #Make a new list if [ $LINES -eq "0" ] then killall wterm find -L $FILE_DIR -type f -name "*.jpg"|grep -vE '/thumbs/|/slides/' > $WALLPAPER_LIST LINES=$((`wc -l < $WALLPAPER_LIST`)) test $LATEST && rm $LATEST touch $LATEST DISPLAY=:0.0 wterm -g 150x5-0+1142 -tr -bg green -fg yellow -sh +sb -e tail -f $LATEST & fi # Pich a random file FILE=`head -$((($RANDOM * 32678 +$RANDOM) % $LINES + 1)) $WALLPAPER_LIST|tail -n 1` # Take it off the list grep $FILE -v $WALLPAPER_LIST > $WALLPAPER_LIST.bak mv $WALLPAPER_LIST.bak $WALLPAPER_LIST # Display on the two screens DISPLAY=:0.${COUNT} /usr/bin/wmsetbg -a $FILE & # Determine the output for wterm SIZE=`jhead $FILE|grep Resolution` WIDTH=`echo $SIZE|awk '{print $3}'` HEIGHT=`echo $SIZE|awk '{print $5}'` WIDTH=`printf %.4d $WIDTH` HEIGHT=`printf %.4d $HEIGHT` SIZE=`echo $WIDTH × $HEIGHT` # Add to the history list. echo "${COUNT} $SIZE $FILE" >> $LATEST done