#!/bin/bash # slideshow - Display a slideshow of photos from the specified directory. # Uses ImageMagick's "display" utility. setglobal delay = '2' # default delay in seconds setglobal psize = '"1200x900>'" # preferred image size for display if test $Argc -eq 0 { echo "Usage: $[basename $0] watch-directory" > !2 ; exit 1 } setglobal watch = $1 if test ! -d $watch { echo "$[basename $0]: specified watch directory $watch isn't a directory" > !2 ; exit 1 } cd $watch if test $Status -ne 0 { echo "$[basename $0]: failed trying to cd into $watch" > !2 ; exit 1 } setglobal suffixes = $[file * | grep image | cut -d: -f1 | rev | cut -d. -f1 | \ rev | sort | uniq | sed 's/^/\*./] if test -z $suffixes { echo "$[basename $0]: no images to display in folder $watch" > !2 ; exit 1 } /bin/echo -n "Displaying $[ls $suffixes | wc -l] images from $watch " set -f ; echo with suffixes $suffixes ; set +f display -loop 0 -delay $delay -resize $psize -backdrop $suffixes exit 0