pho (pronounced like the first syllable in "photo") is a lightweight program for viewing large numbers of images quickly, rotating or deleting some, and making notes about what to do with each image -- for instance, for going through hundreds of images after uploading them from a digital camera.
Pho 0.9.8 is released!
To get it, skip to the download section.
The big change here is Keywords mode. It uses the same note flags that Pho has always had, but Keywords mode gives you an easy way to annotate a directory of images with strings. You can type in phrases for each note, and you can have up to 31 notes now, not just 10. If you use Pho to categorize your photos, you'll find Keywords mode very handy.
In Keywords mode you can also type in a unique image comment for each image. Comments aren't tied to the numbered image flags -- each image has its own comment.
There's also a new slideshow mode, where you specify the interval in seconds (e.g. pho -p -s5 for a 5-second delay between images). You can use this for a screensaver, or just to go through slides automatically. Hitting the spacebar cancels slideshow mode.
You can now customize the command called up with the 'g' key.
It defaults to gimp (not gimp-remote as in previous pho versions),
but you can call any program you like,
e.g. view the current image in firefox with
export PHO_CMD="firefox %s" --
don't forget the %s for the filename!
BSD users: pho should build on *BSD now as of 0.9.6-pre2. If it doesn't, please let me know.
Other changes include major work on scaling modes. Double and half size mode now behave differently depending on whether you're in normal or full size mode, and the scaling factor (e.g. half size) is remembered as you go from image to image.
Warning: I've swapped the meanings of f and F. I found that I use full size mode all the time, whereas I seldom use full screen, and when I do, I use it once at the beginning of a session (e.g. to view a bunch of cartoons scaled up). So it makes more sense to have full size on f (easier to type).
I've also done quite a bit of performance work, to reduce the number of redraws, speed up rotates, and reduce the number of times Pho has to re-read the file on disk.
I used to use xv for paging through images -- it's quite a good viewing program -- but it had a few features which annoyed me. For example, it creates a directory called .xvpics in every directory it touches; and if an image has to be resized to fit the screen, and after that you save it (perhaps after rotating it), it saves at the smaller size and boom, there goes your high-res image.
But, more important, there were a few extra things I needed. During image triage, I need to be able to do a few things quickly:
Since I wrote pho several years ago, I keep hearing about other image viewers, and thinking maybe pho was redundant. But I recently did a search, and couldn't come up with any other image viewers that are similarly efficient for paging through large collections of images. So I guess I'll keep maintaining pho!
Pho can read any format supported by gdk-pixbuf. I haven't found a list of those formats anywhere, but it seems to be substantial. The only format I've hit so far that it doesn't read is photocd. You can convert those to other formats using the ImageMagick utility.
Pho can delete images on disk, but it can't save rotated images yet. I use my imagebatch scripts for that, or you can use a commandline utility like ImageMagick (which is what my imagebatch scripts use under the hood).
Current version: pho-0.9.8.tar.gz. (source tarball).
Latest source tree: Pho is now hosted on Github, and you can get the latest source tree there, as well as file bugs or otherwise participate.
There's also an old Google Code repository but it's gotten out of date -- I recommend you not use it.
Debian/Ubuntu packages for 0.9.8:
I will get the Ubuntu packages onto Launchpad soon, I hope.
Ancient Windows binary (requires gtk+): pho-0.9.5-pre5.zip. (Thanks to Michael Schumacher!)
Mac users: Pho definitely does work on Mac OS X if you have the appropriate gtk/gdk headers and libraries (my husband uses it). I've only seen it used as an X11 application, but in theory it should be able to run with the new experimental native gtk libraries too.
To compile pho, you'll need a compiler, GTK, and all the libraries it depends on. For example, on Ubuntu, this command should get you what you need:
aptitude install build-essential libgtk2.0-dev
If you like pho, or if you think it's promising but there's some feature it really needs ... let me know!