Using zenity for interactive bash scripts
Zenity is for Gnome2 what gdialog was for Gnome1. You can use it display various kinds of dialog boxes from your shell scripts. Although one might think that this is superflous I find it very useful especially in combination with nautilus-action.
Let’s look at an example I found on Ubuntu Forums.
#!/bin/bash
# Dialog box to choose thumb's size from pre-defined sizes
SIZE=`zenity --list --title="Choose the thumbnail's size" --radiolist --column="Check" \
--column="Size" "" "custom" "" ">140" "" ">x90" "" ">640x480" "" ">800x600" "" ">1280x1024"`
# Dialog box to choose custom size
if [ "${SIZE}" == "custom" ]; then
SIZE=`zenity --entry --text "Enter size parameter"`
fi
if [ "${SIZE}" == "" ]; then
zenity --error --text="Size not defined by user.
Please choose a size to use. "
exit 1
fi
# $# is the argument count
PROGRESS=0
let "INCREMENT=100/$#"
#Do the stuff with all the selected files ($@
(for arg in "$@"; do
echo "$PROGRESS";
echo "# Resizing $arg";
# The original image will be overwritten
mogrify -resize "$SIZE" $arg;
let "PROGRESS+=$INCREMENT";
done ) | zenity --progress --auto-close --title "$Resizing" --percentage=0
These few lines enable you to mass-convert your images to create thumbnails. mogrify is part of the ImageMagick page.