Imagesort 2.0 (1/15/99)
Copyright 1999 by Sam Creasey (sammy@users.qual.net)
Freely distributed under the GNU Public License, version 2 or later

This is imagesort, a rather dirty X hack to let one deal with a bunch
of images, and do the specified thing with them according to
keypresses.  It becomes useful when you've got a big pile of image
files (usually generated by aub, or similar tool, or maybe a CD you'd
like to pick the "good stuff" off of), which are not all pictures
you'd like to keep archived.

Imagesort is written using Imlib, an image processing library which
is nice and painless to code on top of.  I have compiled successfully
with several versions, and know 1.9 will work with this version of
imagesort, as well as most other recent versions. Anything before 1.2
will quite assuredly break. 

The main distribution archive includes the following: 
COPYING -- GNU Public License
README -- This file
README.WIN32 -- Information about using Imagesort from within windows
Makefile 
imagesort.c -- source code

INSTALLATION:

Editing the Makefile may be needed.  It assumes a few things, if these
aren't all true for your system, fix them.  

1.	We expect to find X installed in /usr/X11R6, change XDIR if
	this isn't true.   

2.	Imlib is expected to want the following additional libraries:
	libgif, libjpeg, libtiff, libpng, libm, and libz.  If you
	don't have (or don't need) all of these, change LIBS.

To build Imlib (under Linux) type "make".  Assuming you've got the
right libraries, and they're properly configured, it should build for
you. 

Imlib has also been successfully compiled/run in Windows using the
Cygwin32 enviornment.  See README.WIN32 for more information on this.

Next, set up your ~/.imagesortrc file.  A sample is included with this 
distribution as imagesortrc.sample.  the basic structure is as
follows:

kbd action keystroke [shell command]

all lines begin with "kbd", to specify this is a keyboard directive.
no other config lines are supported.

action can be one of the following: "quit", "skip", or "shell".
"quit" causes the program to terminate, "skip" lets the image remain
untouched, and "shell" specifies that a certain shell command should
be executed to do something with it.

keystroke is the single-character keypress for which this action is
meaningful.  It must be a key which would normally generate one
printable character when pressed, such as: 1, b, ., or ] and not
something which requires multiple keys such as SHIFT or CTRL and a
key.  the spacebar also cannot be meaningfully defined.

shell command is the command line which you would like to execute upon
this file.   for example:

kbd cmd t mv %fn /pictures/trains

would move the specified picture to /pictures/trains, where you
probably keep all of your pictures of trains.  %fn is replaced with
the filename of the current picture.

see the example to clarify confusion.  comments are not supported.

The command line is limited to 10 arguments, including the program
itself.  This should be adqeuate, as no line of the config file can be
longer than 80 characters either.

Note that the shell is not loaded when running external programs (we
use execvp() ), so if you want to do funky shell stuff, just write a script.)

These limitations would not be difficult to remove by increasing the
size of some data structures if it's a problem for you.


Contact Information:

I am Sam Creasey <sammy@users.qual.net>.  Please contact me there if
you've got any questions, encouragements, *constructive* criticisms,
patches, would like an address at which you can send me money, etc.
Flames will go to /dev/null, replies from /dev/urandom.  Enjoy.


