#!/bin/bash
#
# resize-images: resize each image given on the command line to geometry=$1
#
# Gerald Oskoboiny, 4 Mar 2002
# 
# source: http://impressive.net/software/photo/source/resize-images
#
# $Id: resize-images,v 1.8 2007/01/30 09:06:28 gerald Exp $
#

lock=$HOME/.resize-images.lock

usage() {
    echo "usage:"
    echo
    echo "    resize-images geometry file1 [file2 ... ]"
    echo
    echo "    example: resize-images x480 foo1.jpg foo2.jpg foo3.jpg"
    echo
    exit
}

lock() {
    lockfile $lock
}

unlock() {
    rm -f $lock
}

if [ $# -lt 2 ]; then
    usage;
fi

[ -d .trash ] || mkdir .trash

geometry=$1; shift

for f in $*; do
    lock;  # avoid running many concurrent 'convert's to keep load manageable
    echo Resizing $f to geometry=$geometry...
    mv $f{,.egp}
    convert -quality 85 -geometry $geometry $f{.egp,}
    mv $f.egp .trash/`echo $f | sed 's,/,:,g'`
    unlock
done


#
# changelog:
#
# $Log: resize-images,v $
# Revision 1.8  2007/01/30 09:06:28  gerald
# switched to bash because no longer works as sh
#
# Revision 1.7  2002/10/16 13:46:19  gerald
# added lock/unlock functions since monitoring numerical load was useless
#
# Revision 1.6  2002/09/02 20:23:15  gerald
# bug fix: back up files that came from subdirs correctly
#
# Revision 1.5  2002/08/28 05:56:17  gerald
# added load checker
#
# Revision 1.4  2002/08/08 03:58:03  gerald
# added a pointer to the source url
#
# Revision 1.3  2002/05/11 02:29:50  gerald
# move backups to .trash instead of renaming to .egp
#
# Revision 1.2  2002/04/29 04:53:08  gerald
# added changelog
#
#

