ImgView is a simple image viewer. It is free from menus and other GUI
gadgets, and controlled primarily by the keyboard. It supports the
following image file formats: GIF, JPEG, PCX, PNG, PNM (PBM/PGM/PPM),
TIFF and XBM. It is able to scale images with non‐square pixels so that
they display correctly on a display with square pixels. It supports RGB,
Gray and CMYK ICC
profiles in TIFF and JPEG, RGB and Gray ICC profiles in PNG, and RGB
ICC profiles in GIF. Display of Exif,
and other metadata is realized through the use of ExifTool.
Apart from the usual X11 development files, you will also need the
following libraries and their respective development files:
libpng (see below)
libtiff (see below)
libungif (see below)
I have modified libpng, libtiff and libungif slightly for ImgView.
They are in the lib directory. Install them into
$HOME/imgview (by giving ‘--prefix=$HOME/imgview’ to configure).
The libstrutil and libxsimple libraries are my own
creations. Run ‘make’ and ‘make install’ to install them. They will be
placed in HOME/lib and $HOME/include.
ImgView uses YAD
for the open file dialog.
You will need
gxmessage, the GTK‐based xmessage clone, to view textual
data like the help text, image comments and other stuff.
In order to view Exif, XMP and other metadata, you will need ExifTool.
Mats Peterson <matsp888
at yahoo dot com>
- • Now using UTF‐8 for a more pleasant appearance of source files,
text files and console output.
- • The name and location of the configuration file has changed.
Please see the README file for details.
- • ImgView now uses POSIX regular expressions instead of PCRE.
- • It is now recommended to install libpng, libtiff and libungif in
$HOME/imgview, in order to avoid possible clashes with other versions of
these libraries, should they already be installed in your $HOME.
- • Now using more readable variable names in the configuration file
and the environment.
- • ImgView now uses a file open dialog with the help of YAD.
- • Added ‘-lX11’ to the LIBS in the Makefile, seems to be needed on
- • Even more ahead of time. ImgView now supports RGB ICC profiles in
GIF, for what it’s worth.
- • Ahead of time. Oh well. I have modified libtiff some more to make
TIFFReadRGBAImage() return CMYK data as CMYK instead of RGBA. As a
consequence, Imgview now supports CMYK ICC profiles in TIFF as well.
- • It is now possible to define a default RGB, Gray and CMYK profile
for images without an embedded ICC profile.
- • Gray ICC profiles are now supported in JPEG and PNG. I have modified
libtiff 4.0.3 to skip the conversion from unassociated to associated
alpha. Please get it here.
- • Added support for RGB ICC profiles in PNG.
- • ImgView now supports RGB and CMYK ICC profiles in JPEG, and RGB
ICC profiles in TIFF. Please note that the color management code is
still rather immature.
- • Horizontal/vertical resolution is now stored as floating point
(double). TIFF, as an example, uses rational numbers for the resolution,
hence it is necessary to use floating point for maximum accuracy. This
should really have been done long ago.
- • The transparent background color wasn’t used for transparent TIFF
- • Properly escape special shell characters when invoking
- • The display of ExifTool metadata is now done by generating an XHTML
page and launching a web browser.
- • Modified the ‘etinfo’ ExifTool wrapper script to produce slightly
nicer looking output.
- • Now using a Perl wrapper script with ExifTool in order to produce
slightly more pleasant output.
- • Now using GPL. Appropriate blurbs added to the source files.
- • Now using proportional font for the help text.
- • Now using a U+2006 SIX-PER-EM SPACE on either side of a
multiplication sign. Looks better than using a U+2009 THIN SPACE (usually
- • Now using a U+2009 THIN SPACE on either side of a multiplication
- • Now using a U+205F MEDIUM MATHEMATICAL SPACE on either side of a
- • Added configuration file (it has been there all the time, albeit
- • Added limited customization with environment variables.
- • Now using a U+2009 THIN SPACE as the thousands separator for file
- • The term “dots per inch” is now replaced with the more correct
“pixels per inch” where applicable.
- • Now using the
-rpath linker option; no more need for
LD_LIBRARY_PATH at runtime.
- • Some minor bug fixes.
- • Now using
iconv routines instead of
mbstowcs for encoding conversion.
No more need for an ISO‐8859‐1 locale.