PQIV README

WHY NOT USE QIV?

qiv (http://www.klografx.net/qiv/index2.html) is a great image viewer, but it
does not use gtk2 but imlib for image handling. This is bad, because many
distributions (well, at least gentoo) do not offer this library anymore as it's
quite old and not maintained anymore.


ABOUT PQIV

When the first release of pqiv was written, I used python, hence the name. I
expected somebody else to write a c-rewrite of qiv, so I didn't really care
about that. About one month later nothing had happened yet, so I did this on my
own. Starting from 0.4 pqiv means "pretty quick image viewer", written in pure
c, using gtk+-2.0.

Now the program is more or less feature complete. If you miss something either
look for one of those big image viewers or pass me an email.


FEATURES

Thanks to Rene Saarsoo <nene ät triin döt net>, who suggested nearly all of the
new 0.4 features. He also implemented most of them into the old python code,
so ask him if you're interested in another python'ish version.

Features include:
 * Fullscreen
 * Slideshow
 * Rotate / Flip
 * (Automatic/manual) Zoom
 * Move by drag & drop in fullscreen
 * Keep preferences in a configuration file
 * Rather small executable (~36k), low ram consumtion, quick
 * Execute predefined commands, pipe images through them or
   display their output
 * Real transparency
 * Fade between images


INSTALLATION

Usual stuff. ./configure && make && make install
You'll need
 * gtk+-2.0 >= 2.12
 * Corresponding glib, gthread, gpixbuf versions


THANKS

This program uses Martin Pool's natsort algorithm [http://sourcefrog.net/projects/natsort/]


CONTRIBUTORS

 * Nir Tzachar
 * Yaakov (Cygwin Ports)
 * David Lindquist
 * Tinoucas
 * John Keeping
 * Alexandros Diamantidis (Reverse-movement-direction code, fixed code typos)


KNOWN PROBLEMS

 * Some window managers, especially Beryl, have problems with many commands in
   short intervals. As a resize follows the unfullscreen command immediately,
   the main window could be too big/small upon the unfullscreen command
   -> This should be fixed with 0.9
 * If you experience problems with file encodings, try setting the environment
   variable G_FILENAME_ENCODING to match your file system's encoding
 * It seems that GTK buffers images in memory even after they are freed. If you
   reload images (press 'r') often, the memory consumed by the procress will
   increase. However, it doesn't do so linearly and reaches a limit, so it's
   probably not an issue in pqiv's code. IF you can assert any linear increase
   report that as a bug!


CODING-STYLE

I personally dislike the typical C coding style. Which means I won't ever use
it in pqiv code. Here's what I do:
 * Tabs (width 8) instead of spaces
 * if(..) {\n\t..\n}
   same goes for while/do/..
 * }\nelse {
 * function(\n\tparameters,\n\t..\n)
 * I indent preprocessor stuff whereever I think it might improve readability
 * Variable names are capitalized the java way (eachNewWordStartsCapitalized)


CHANGELOG

pqiv 0.9
 * Improved reliability in resize/reshape code. Switching to/from fullscreen with
   Beryl should no longer raise problems
 * Improved image translation code in fullscreen (Moving the image with the mouse)
 * Made -R default, as many people complained about the movement direction. Use
   -R to get pre-0.9 behaviour.
 * Added a configure option to name the binary "pqiv" and remove "qiv" stuff
   (to simplify life for Debian maintainers :-)

pqiv 0.8
 * Added autorotation for digicam images
 * Added `off' as an parameter for -P
 * Added -R (reverse movement direction)
 
pqiv 0.7
 * Improved debian compatibility (ie. make deb)
 * Added option -S ("Follow symlinks") and recursion checking code
 * Added "open file" dialog (start qiv without a TTY in stdin &
   without parameters)
 * Fixed various bugs in sorting/directory traversal
 * Added 'j' binding to jump to a file (search by name / number)
 
pqiv 0.6
 * Added -q option
 * Added --no-inotify option to make pqiv compatible with
   !linux systems. (Yaakov)
 * Added -a for aliasing (Idea by David Lindquist)
 * -t scales images up to fill the screen (optional)
 * zoom in fullscreen via mouse 3 & scroll (not realtime)
 * Mousebuttons behave more qiv-like. (Tinoucas)

pqiv 0.5
 * Minor bugfix: Show an error message when no X11 display
   is found
 * Fading between images
 * Advanced command execution
 * More glib calls instead of own functions
 * Added option to select interpolation type
 * Added support for real transparent images
 * Added support for sorting (using natsort)
 * Added support for real transparency
 * Added support for fading between images

pqiv 0.4
 * Updated Makefile to conform to standards
   Thanks to Samuli Suominen <drac at gentoo.org>
 
pqiv 0.4 rc1
 * Source rewritten into c
 * Mouse moves image in fullscreen
 * Configuration file
 * Many bugfixes (i.e. fullscreen on startup)
 * Ability to execute external commands

pqiv <0.4:
 See the old python release for information on that
