Your editor is a firm believer in the advantages of free software. As
such, he takes great pride in running a desktop system with nothing but
free applications on it. Thanks to countless developers who have released
their work under a free license, there is no need to run non-free software,
and that fact makes a grumpy editor a little less so.
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.
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 ability to take a screenshot of another application is a nice
- 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
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.
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
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.
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,
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
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.
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.
to post comments)