The Grumpy Editor's Guide to Image Viewers
Too bad it's not true.
LWN is a relatively text-heavy site, but an LWN editor's job still requires spending a fair amount of time working with image files. This article, for example, involved grabbing several screenshots, cropping them, generating smaller versions to run inline with the article, etc. There is a simple, unpleasant fact that many Linux users sweep under the rug: the best tool for this sort of light image editing work is xv. A user with a minimal familiarity with xv can plow through a directory full of images, choose one, crop, resize, and save it (possibly in a different format) in less than a minute.
Unfortunately, xv is not free software. It is a "source available" product, and may be freely used "for your own amusement." Any sort of commercial use, however, requires the purchase of a $25 license. Web servers are standing by to take your credit card number. Since xv is not free, it is packaged by few distributors. It remains highly used, however, and packages for most distributions are a quick Google search away.
One would hope that the commercial nature of xv would, at least, encourage
its further development. That turns out not to be true either, however;
the last entry in the changelog was
made at the end of 1994. The current release has been 3.10a since the
beginning of 1995. The restrictive license of xv has clearly killed any
chance of significant outside contributions, which is unfortunate; xv could
use a makeover. In the late 1980's rolling your own widgets for a
graphical application was almost mandatory, but there is really no excuse
for that now.
Your editor has long wondered why, over all these years and with all the work that has gone into desktop development, nobody has ever come up with a tool for image viewing and simple editing which is anywhere near as quick and easy to use as xv. A proper editor, even a grumpy one, should make an effort to be on top of the state of the art, however, before making such a claim in public. So, what follows is a quick survey of the current image viewer offerings, with a focus on quick editing work.
In particular, here's what your editor wants:
- The ability to quickly step through a set of images, preferably with an easy keystroke (such as the space bar).
- Display of images in their natural resolution whenever possible.
- Fast operations for cropping and resizing images, and for saving the result.
- The ability to take a screenshot of another application is a nice bonus.
- Also nice, but less important, is the sort of quick color table tweaking that xv supports. One occasionally has to adjust the colors and contrast of a digital photograph, and it can be useful to have quick operations for that sort of task. One reaches a point where it is better to simply fire up the Gimp, however.
What your editor is not looking for is a full digital camera suite, with camera drivers, photo albums, etc. Your editor is also not looking to replace the Gimp, which is an indispensable tool in its own right, but is rather heavy for quick tasks. Finally, your editor will respond grumpily to mail suggesting packages like netpbm or ImageMagick. Those tools are invaluable for scripted applications, and no doubt some clever netpbm hacker could devise a six-stage pipeline involving two separate invocations of the ppmfrobnicate filter to perform all of the tasks above. That is not interesting, however; image viewing and editing is are jobs best done in a graphical mode.
That said, here is a quick overview of several image viewer/editor applications.
Electric Eyes
A number of distributors throw in the "Electric Eyes" application with
their GNOME packages. This tool, usually called ee or
eeyes, has come a long way over the years; it has most of the
capabilities your editor has been looking for. Finding them can be a bit
of a challenge, though. The middle mouse button is used for selecting an
area to crop, but it simultaneously pops up an "edit controls" window
(pictured on the left). That window allows for simple color table
tweaking; it also offers a set of inscrutable icons for resizing and
rotating the image. A resized image will be saved in its original size,
however, unless you click the "apply" icon first; this operation has no
visible effect, however. xv, in contrast, has an "original size" checkbox
on the save dialog which makes things explicit. The crop operation is not
to be found in the controls window; you must select it from a menu attached
to the right mouse button.
Unlike most of the applications your editor tried out, Electric Eyes offers
a "grab" function for creating screenshots. The process is a little
cumbersome, and it employs a truly disturbing strobe effect which is meant
to show you which window you had selected. But it works; it was used to
generate the ee screenshot.
Electric Eyes appears to have almost nothing in the way of keyboard shortcuts, which slows things down significantly. This editor also has a significant flaw in that the image quality suffers when an image is resized; compare the image to the right (generated with ee) with that just above (generated with xv). The final conclusion is ee, while having a lot of the right features, is not yet ready to replace xv.
gthumb
In many ways, gthumb is the
most capable of the tools tried by your editor. It can perform most of the
tasks needed, though it lacks a screenshot grab function. The tools can be
awkward to use, however. gthumb provides a cropping dialog (pictured on
the left) which works by positioning a rectangle over a small version of
the image. It has a number of nice options for controlling the aspect
ratio of the resulting image. If, however, you are trying to position the
crop area with any precision, working on a thumbnail is not the way to go.
Selecting a crop area should be done on a full-size rendering of the image.
Speaking of full size, gthumb shares an annoying feature with a number of other image editors: it throws up a window with an arbitrary size that, doubtless, appealed to some GNOME developer; the image being viewed is then resized to fit the window. Your editor, when he wants to look at an image, wants to see the image in its natural resolution. There is a configuration option which can be used to tell gthumb not to resize the image, but it still doesn't size the initial window appropriately. It does, however, remember the way a window was resized the second time an image is viewed.
Resizing of images is done by way of a dialog where the desired size must be specified explicitly. It works, but a quick, immediately visible resize applied directly to the image is faster and better. The quality of images resized by gthumb is good.
There is a set of color tweaking operations which make it relatively easy to fix up digital photos. gthumb also has a number of features you editor wasn't looking for, including "catalogs" (photo albums, essentially) and the ability to attach comments to images. The comments, however, are hidden away in a secret gphoto directory and do not survive if the image is copied or renamed from the command line. gthumb can create index images and web albums as well.
KView and gwenview
KView is a
KDE-based image viewer application. Like many KDE applications, KView
looks pretty. This image viewer, however, is not up to the task.
KView resizes images on startup (though this behavior is configurable). The application offers a rather clunky zoom interface (you have to pick from a list of percentages) but it has no option to resize an image. It can crop images however (from a selection on the full-size image) and the basic rotate and flip operations are provided. There is also a small list of effects. KView can interface with SANE for easy processing of scanned images.
Another KDE-based viewer is
gwenview. As an image viewer,
it is nice; it provides a configurable thumbnail window, and keys like the
space bar do the right thing (i.e. what an xv user would expect). The only
editing operations provided by gwenview, however, are image flipping and
rotation. The operations are quick - a simple control-L will rotate the
image to the left - but by themselves they are inadequate.
Others
By this stage in the process, your editor was starting to run low on energy. There are, however, several other offerings out there which, perhaps, warrant a mention.
Digikam is a KDE application meant for working with digital cameras. It divides the world into "albums," and reacts badly if you try to start it with a command like "digikam my_image.png". There is a basic set of editing operations, including full-image cropping and gamma and brightness adjustments, but there is no way to resize an image.
Showimg is a KDE viewer which resembles gwenview in many ways. It adds a set of relatively useless image transformation options ("swirl," "implode"), but is unable to crop or resize images. It does have a cute pink cow splash screen, however.
GImageView is a GNOMEish viewer oriented towards working with lots of images. It has a special set of movie options on top of the usual image viewing features. GImageView has an unbelievable number of configuration options. The only editing operation, however, is image rotation - and you can't save the result. For whatever reason, the keyboard shortcut to exit the application is Control-C.
ida is a simple viewer which has
obviously been inspired by xv; the right mouse button brings up a control
panel, and many of the keyboard shortcuts work the same way. Selecting an
area and hitting "c" will crop to that area, for example. Resizing is
supported (and the image quality is good), but it requires typing the
desired size into a dialog. A small set of image tweaking operations is
provided as well. This application has potential, but it needs a faster
interface. The Motif-based user interface could also stand an upgrade.
Eye of GNOME is a simple, GNOME-based viewer. The only supported editing operation is rotation; this application has a "save" operation which overwrites the file without question, but no "save as". It is a reasonable image viewer, but it is not useful for editing.
Conclusion
Your editor stands by his original claim: xv, even after nine years of absolutely no development, is still superior to any of the free alternatives. No other tool provides the same ease of use, speed, features, and quality of results. To a grumpy editor, it almost seems as if the developers of free image viewing and editing applications have concerned themselves mostly with quantity. The users of these applications, however, might well be happy to have fewer applications to choose from if a few of them were the same sort of focused, powerful application as xv.
That said, your editor's clear choice for a free image viewer/editor has to
be gthumb. The essential set of features is there; all that's left is
tuning the interface to make those features quick and easy to use. This
application shows potential; your editor will be watching it.
