Authors: ak: Adam Kopacz (adam.k@klografx.de) as: Andy Spiegl (qiv.andy@spiegl.de) de: Darren Smith (darren.smith@juno.com) pa: Pavel Andreev (paxvel@vumsoft.cz) df: Decklin Foster (decklin@red-bean.com) Other contributors: hm: Holger Mueller (hmueller@hrzpub.tu-darmstadt.de) ss: Scott Sams (sbsams@eos.ncsu.edu) sw: Serge Winitzki (winitzki@geocities.com) fc: Frederic Crozat (fcrozat@mail.dotcom.fr) rn: Rutger Nijlunsing (rutger@wingding.demon.nl) jk: John Knottenbelt (jak97@doc.ic.ac.uk) da: Danny (dannys@mail.com) to: Tomas Ogren (stric@ing.umu.se) ej: Erik Jacobsen (erik@openix.com) aw: Alfred Weyers (alfred@otto.gia.RWTH-Aachen.DE) da: Daniel (danad157@student.liu.se) hk: Henning Kulander (hennikul@ifi.uio.no) ab: Ask Bjoern Hansen (ask@valueclick.com) al: Adrian Lopez (adrian2@caribe.net) yf: Y Furuhashi (y_furuhashi@ot.olympus.co.jp) wd: Wayne Davison (wayned@users.sourceforge.net) 1.8 === 16.07.02 [----] [ak] Released 1.8 :-) 07.07.02 [pre8] [ak] added zoom in/out bugfix from Qef Richards <qef@rosies-dumplings.co.uk> 29.06.02 [pre7] [as] fixed load_time. now the real render/load/display-time is displayed. 09.06.02 [pre6] [as] fixed image moving merged update_m_image and update_z_image into update_image 05.06.02 [pre5] [as] fixed trashdir and delete path, fixed rounding error of zoom factor in statusbar added support for transparency in fullscreen mode (leaves a problem with the disappearing window border) added a Transparency toggle added possibility for the statusbar in non-fullscreen mode added command line switch "I" to force display of the statusbar changed command line switch ignore_path_sort from "I" to "P" added command line switch "W" for a fixed zoom factor added a Center mode toggle changed meaning of page down/up keys 16.05.02 [pre4] [ak] Added reload-after-qiv-command-patch from "Andy Spiegl <qiv.andy@spiegl.de>" 12.05.02 [pre3] [ak] Added Iconify-Patch (Key: I) from "Goetz Waschk <waschk@informatik.uni-rostock.de>" 29.12.01 [pre2] [ak] Added manpage-patch (qiv-command changes) from James M Corey <jmcorey@ptdcs2.ra.intel.com> 31.07.01 [pre1] [ak] added patch from Matthias Kilian <kili@outback.escape.de> (adds random order when starting qiv in shuffle mode & fixed deleting and undeleting a picture which is a symlink) 1.7 === 05.07.01 [----] [ak] added a qiv-command.example & released 1.7 :-) 10.06.01 [pre9] [ak] added qiv_command_patch from post@volker-wysk.de 03.06.01 [pre8] [ak] image_moving now uses func update_m_image. no screen clean first anymore -> faster moving :) zoom now uses update_z_image -> a little bit faster zoom (+0.1s?) added README.TODO 11.05.01 [pre7] [wd] Fixed window-resizing in non-fullscreen mode. Fixed combining -x with -m or -t. 02.05.01 [pre6] [wd] Fixed mouse-hiding on button-push when fullscreen. Added some missing names to the doc file. 30.04.01 [pre5] [wd] Hide the mouse on keypress and button push when it is in the qiv window (the mouse is re-shown on mouse movement). Improved the sort algorithms (particularly the numeric sort). 02.04.01 [pre4] [wd] rreaddir() patch. 28.03.01 [pre3] [wd] Added undelete image command (bound to u & U). Allow the user to specify multiple -u options and also to specify files on the commandline in addition to -uDIRs. Added new commandline sorting options (-I, -M, & -N). Optimized rreaddir(), next_image(), and get_random(). Improved the implementation of shuffle. Other misc. (and minor) bug fixes and tweaks. 20.02.01 [pre2] [yf] removed slideshow_exit from default event. 17.02.01 [pre1] [yf] added the option -w x or --width x for displaying with a fixed window-width. 1.6 === 18.01.01 [1.6] [ak] killed "pre8" string, -v (gzip) - we dont neet verbose mode *g* release qiv 1.6 06.01.01 [1.6] [df] Put 'm' back in help text (oops!) 06.01.01 [pre8] [df] Rewrote part of the extension filtering code. 06.01.01 [pre8] [df] Move the program used to compress man pages (gzip -9vf) up to the top so that it can be disabled easily. 06.01.01 [pre8] [df] Some HP-UX compilation fixes. 05.01.01 [pre7] [df] Change zoom_in/zoom_out so that they will break out of maxpect/scale_down mode, and make maxpect/scale_down override each other. 05.01.01 [pre7] [df] A whole bunch of other cleanups. 05.01.01 [pre7] [df] Updated keys help text for rotation/moving. 05.01.01 [pre7] [df] Fixed bug that caused the image not to update when brightness/contrast/gamma was re-adjusted to 0/0/0 (with either the Enter key or B/C/G.) 05.01.01 [pre7] [df] Merged README.SPEED_UP into README. 05.01.01 [pre7] [df] Don't reset image size when rotating, and scale properly according to maxpect/scale_down. 05.01.01 [pre7] [df] Fold filter.c into main.c. 05.01.01 [pre7] [df] Big cleanup: move everything pertaining to the image into a qiv_image struct and pass that as an argument to most functions. Got rid of a lot of global variables. 04.01.01 [pre6] [df] gzip manpage with -9 (This is required for Debian packages, and is a good idea anywhere). 04.01.01 [pre6] [df] Replace strcpy/strcat with strncpy/snprintf in rreaddir and move2trash to prevent a few more possible overflows. 04.01.01 [pre6] [df] Clean up initialization code. 04.01.01 [pre6] [df] Redo color handling: remove GDK deprecated functions and internal color list. Now you can use any color from X's rgb.txt or equivalent (however, you may have to change '123456' to '#123456'). 03.01.01 [pre5] [df] Fix Makefile to handle fonts with spaces in their names. 03.01.01 [pre5] [df] Use actual font height when drawing the help screen and statusbar instead of hardcoding it. 03.01.01 [pre5] [df] Plug text_font and statusbar_background_gc memory leaks. 03.01.01 [pre5] [df] Use helpstrs in show_help to avoid duplicating the help text. 03.01.01 [pre5] [df] Change raw keysyms to symbolic names in event.c. 02.01.01 [pre4] [df] Use NULL for the sentinel value in image_extentions. 02.01.01 [pre4] [df] Updated man page. 02.01.01 [pre4] [df] Replace random() with rand(), since the HAVE_RANDOM check didn't really work properly, rand is guaranteed to be there, and it's acceptible for the amount of randomness we need. This facilitated some more Makefile improvements. 02.01.01 [pre4] [df] Reorganized the source layout a bit. Optional code now lives in the lib/ dir. 02.01.01 [pre4] [df] Resync Makefile.Solaris to Makefile, and make some minor fixes to each. 01.01.01 [pre3] [df] Updated -e to work properly with the new centering stuff. This is now considered a feature, not a workaround ;-) 01.01.01 [pre3] [df] Put x and y hints into the window when we create it (should eliminate the "window pops up and then centers itself" problem.) 01.01.01 [pre3] [df] Removed last traces of wm_handle kludge, and set StaticGravity instead. 31.12.00 [pre3] [df] Only call gdk_show_window on load, not every single time we update. 31.12.00 [pre3] [df] Replaced strsort with qsort. (should be faster, doesn't have an illegal name ;-) 31.12.00 [pre3] [df] Replaced sprintf with snprintf and g_snprintf to prevent any possible overflows. 31.12.00 [pre3] [df] Cleaned up some extraneous blank lines in output. 05.12.00 [pre2] [ak] another PPC fix. 27.11.00 [pre1] [ak] changed "char c" to "int c" in options.c not worked with char on Linux/ppc (mailed by Jiri Masik <masik@darbujan.fzu.cz>) 1.5 === 23.09.00 [pre3] [ak] Released v1.5 - new homepage: www.klografx.net/qiv/ 05.08.00 [pre3] [ak] cleaned up readmes.. 05.08.00 [pre2] [ak] changed up/down and left/right moving of the image. now the stuff works like in ACDSee (Win). 30.07.00 [pre1] [ak] added limits for moving. 1.4 === 28.07.00 [1.4] [ak] added solaris 2.5 patch from francois.petitjean@bureauveritas.com 25.07.00 [1.4] [ak] added image moving with left/right/up/down-keys! :) tried to fix reset_display_settings (b/g/c) but it dont work.. hm added zoom_out limits (64x64). changed keys: now K and L rotate the image. 1.4 === 25.06.00 [pre4] [da] Sending a SIGUSR1 to qiv will cause the program to flip to next picture. SIGUSR2 will move to previous. 15.06.00 [pre3] [ak] re-added b/c/g to titlebar/infoline. painted new intro.jpg *g* 29.04.00 [pre2] [al] image shuffling option (--shuffle) provides random image order while preserving next and previous functionality. 13.04.00 [pre1] [ak] cleaned up infoscreen/added more info and kicked "show_info". 03.04.00 [pre1] [da] The delay time in slideshow mode used to include the time it took for a picture to load. Pressing '?' in non-fullscreen mode results in the help being printed to stdout. 1.3 === 03.04.00 [pre4] [ak] updated man-page and info-screens. also added "qiv: " to title and info-bar. RELEASED v1.3-finale. 03.04.00 [pre4] [ab] patch to run a script called "qiv-command" with the key number and the filename as parameters. keys: 0-9. 13.02.00 [pre3] [de] utils.c patch. added recursive file retrieval (-u option) 30.10.99 [pre2] [ak] removed b/c/g limits to enable nice effects like b0/c-100/g0 :-) 05.10.99 [pre2] [ak] added SPEED_UP readme. 28.09.99 [pre2] [ak] added nice "infotext" stuff that shows a short info about the called function in the statusbar (maxspect: on/off and so..) 24.09.99 [pre1] [hk] started using a better random-slideshow generator. 1.2 === 23.09.99 [da] "?" patch :) 23.09.99 [aw] transparency bugfix. 17.06.99 [ak] no_replace is now default fpr random-slideshow. the parameter has been removed. 14.06.99 [ak] added TO-DO list 14.06.99 [ej] added slideshow_without_replacement_patch 1.1 === 27.04.99 [ak] added #include <string.h> to image.c 21.04.99 [df] changed Makefile to use the system's getopt if it's availible, took the getopt section back out of README, updated install-xscreensaver to use -fitsd style options, fixed -h typo. 21.04.99 [pa] Included GNU getopt_long sources and deleted the non-getopt code from options.c. 20.04.99 [ak] kicked make test ;) now its in make install again. 20.04.99 [df] added HAVE_GETOPT_LONG conditional compilation stuff for Solaris/FreeBSD, rescued xscreensaver stuff from install.sh into Makefile, shuffled INSTALL into README and reformatted a bit. 20.04.99 [ak] kicked user_settings from qiv.h (nw in Makefile) added --help. small changes in manpage. 19.04.99 [df] rewrote Makefile (replacing install.sh), fixed syntax of -e, rewrote option-parsing code to use getopt, axed really long usage message, header file reorg. 17.04.99 [ak] removed prefix from install.sh. don't ask me why, but this don't works here with my bash 2.01 :( 15.04.99 [de] Makefile changes/additions (test/debug targets) Added prefix to install script 13.04.99 [ak] man page update, many tests, new image <g>. 08.04.99 [pa] fixed the "-d 0" problem :-) 07.04.99 [pa] fixed the slideshow/key problems from pre4 with some glib versions. 06.04.99 [pa] slideshow fixes. [ak] removed old language.h/stuff. 02.04.99 [pa] Reorganized everything to use events and not to eat up 100% CPU time. Got rid of sleep() in slideshow, thus making qiv react faster. Random now works not only in slideshow. In random non-slideshow mode, terms "next image" and "previous image" are essentially the same, as they both are random. Image jumping uses main event handler now. 01.04.99 [pa] added utils.c patch for FreeBSD. 22.02.99 [to/ak] added 8bpp patch for better to_root drawing. 1.0.1 ===== 27.01.99 [ak] kicked the language stuff. updated manpage. tested with newest libraries (gtk/glib 1.1.13, Imlib 1.9.2). 19.11.98 [ak] addec --center, -e for disabling window_centering 13.11.98 [de] speed_ups 10.11.98 [ak] configure script, directiries for language files. added language-information to qiv -v 09.11.98 [de] incorporated Roland Trique's <rtrique@pratique.fr> french documentation minor bug-fix to pointer/keyboard grabbing/ungrabbing 1.0 === 05.11.98 [ak] fixed --do_grab for wm=0 added --display and --wm to man-page made qiv ready for releasing 1.0 :-) added error_handler for set_background_image... painted a new and also wonderfull <g> intro.png (with the GIMP). 03.11.98 [ak] added gdk_beep(); for bad images (error handler). 03.11.98 [de] better WM_HANDLE= support. better command_line support for Solaris. 03.11.98 [ak] added window_manager_handling.. the damm center_stuff seems to be a general GDK problem :-( no way to fix it (at the moment).. so YOU must tell qiv which WM you are using.. see README selection "Center Problem".. 02.11.98 [de] removed getopt stuff (now qiv manually checks commandline options) 30.10.98 [ak] small changes in main.c: now --display :1 or so works. 27.10.98 [ak] added tga support to main.h/Makefile played with the "first window centered" problem.. it's not fixed 100%, but better then bevore :) 25.10.98 [de] changed bg_color option to use 24 bits (6 numbers - like HTML) cleaned up move2trash function 24.10.98 [de] added more color names 22.10.98 [de] --no_filter option works again added --bg_color (-o) option to change root background color when setting root background image with --root (-x) 20.10.98 [de] modification to bcg variable names to remove warning on Solaris mouse grabbing is no longer the default (use --do_grab (-a) to grab the pointer in windowed mode). 18.10.98 [ak] removed error_xpm. now we set only the background_color to blue. painted a wonderfull intro.jpg <g> and added to make install. 17.10.98 [de] grouped functions into separate files 16.10.98 [de] added imlib dithering for 8 bit displays 15.10.98 [de] fixed another solaris issue with stdlib.h and random/srandom (see the Makefile if you're having problems compiling) 15.10.98 [ak] more comments, small changes in man-page... 14.10.98 [de] added --version, -v switch for version information 13.10.98 [ak] added --no_grab, -a for disabling keyboard/mouse grabbing in windowed mode. added -y/-x also for "no getopt.h"-users ;) 11.10.98 [de] cleaned up code for 1.0 release added x/y/z keys for setting bg (center/tile/stretched) while qiv is running removed x key from exit sequence added keyboard/mouse grabs to qiv (now fullscreen works right) changed mouse events to work off release instead of press --root_s, -z shows the image stretched on root. 11.10.98 [ak] --root. -x now center the image on root (can be used with -m or so..). --root_t, -y shows the image tiled on root. 08.10.98 [ak] added pnm support 0.9.1 (Solaris NOW!) ==================== 08.10.98 [ak] small changes in manpage.. 08.10.98 [de] made 0.9 ready for Soliaris/SunOS. (fixed getopt.h stuff). 0.9 === 04.10.98 [ak] added render_time (x.xs) to title- and statusbar. changed statusbar_color from white to orange. small code-cleanup. 04.10.98 [de] added more stuff to manpage. 03.10.98 [ak] removed doc/ and added qiv.1 to install.sh 03.10.98 [de] created manpage :) 03.10.98 [da] fixed problem with not taking into account the null terminator of some strings (char xyz[x+1]). 01.10.98 [ak] added --no_statusbar (-i) and i/I keys for on/off. added doc/ + install of README file. small changes in usage (its now smaller). fixed statusbar => works! :-) statusbar is now white - added black (1 pixel) border. Changes is now installed to. 30.09.98 [ak] fixed error_xpm.. now w=500 and h=400 in windowed and w=screen_x, h=screen_y (fullscreen) in fullscreen mode. collor is now BLUE :-) like "bluewin95" :)) statusbar added for fullscreen mode.. but its alpha, black text without a background color or so at the moment.. 30.09.98 [ak] happy birthday to me.. happy.. <g> yes, i'm 20 now :) 29.09.98 [de] extension filter can be disabled now: --no_filter (-n) 28.09.98 [jk] fullscreen_mode: instead of blanking the whole window, blanks only the areas which aren't going to be covered by the picture. (?) 0.8.1 ===== 25.09.98 [de] bugfix: move2trash: the problem was that the subdirectories were NOT being created in the .qiv-trash directory. 25.09.98 [ak] removed the error.h (error_xpm[]) not you will get a black screen (500*400)... 0.8 === 22.09.98 [de] filter stuff: now non case-sensitive 23.09.98 [fc] fixed: transparency in fullscreen, jump2image 22.09.98 [ak] imlib_load error handler. 22.09.98 [de] changes on the filter stuff (+Makefile). adds rotate right/left, flip horizontal/vertical and some minor bug fixes to qiv. 18.09.98 [de] added image_filter, pre-increment and removed dir_check. 16.09.98 [de] jxx -> usage 16.09.98 [fc] bugfix (floating point exception). 16.09.98 [de] "jt15[enter]" - qiv should go to image 15, "jb5[enter]" - qiv should go back 5 images to image 10, "jf7[enter]" - qiv should go forward 7 images to image 17 15.09.98 [de] usage + b/c/g again. 15.09.98 [ak] small "--help" changes. sys/time.h :) 15.09.98 [de] b/c/g fix + delete (move to .qiv-trash) funktion :-) 15.09.98 [fc] fixes + comments. 15.09.98 [rn] fixed -r and order. 14.09.98 [ak] maxpect on/off keys: m/M and scale_down (t/T) -x (set X11 background) 14.09.98 [rn] code_rewrite (clean up) and maxpect 0.7 === 12.09.98: [de] random slideshow (-r), brightness, contrast and gamma. 09.09.98: [fc] code cleanup 0.6 === 09.09.98: [fc] full_screen mode and imwheel support. 08.09.98: [fc] slideshow and mouse-bindings :-) 0.5.2 ===== 07.09.98: [ak] fixed transparency again.. now it seems to work fine, but now all windows don't get a border (FVWM2).. 07.09.98: [ak] fixed 'first_window_was_not_centered'-bug.. 07.09.98: [sw] changes in auto_resize funktion. now only to large images will be scalled down. (a/A removed) 0.5.1 ===== 05.09.98: [ak] fixed transparency bug. 0.5 === 04.09.98: [ak] removed 200% zoom limit. 04.09.98: [ak] added s/S key for en- disabling autoresize + -DAUTORESIZE for enabling on startup. 04.09.98: [sw] auto_resize funktion. 04.09.98: [sw] auto_loop on next/prev image. 0.4 === 31.08.98: [ak] using gdk_imlib_kill_image for disabilng Imlib-Caching. the caching is a verry good feature, but when you view 100 pictures or so then you system begins to swap.. 30.08.98: [hm/ak] loading of more than one pictures (*.jpg or so) 0.3 === 30.08.98: [ak] center_placement.. but this looks ugly because gdk (1.1.2(cvs)/FVWM2 with OpaqueMove) make a refresh beetwen resize and move :( any ideas ? on KWM this works fine... 29.08.98: [ak] fixed 100% 'bug' 0.2 === 29.08.89: [ss] min_zoom_size=5%, max=200%, auto-resize (window)