12005-01-28 Russell Marks <russell.marks@ntlworld.com> 2 3 * Version 5.9. 4 5 * src/rcfile.c (usage_help): changed `fullscreen' option's default 6 to on, so you now have to use `--fullscreen=off' (or similar 7 config file option) to disable it. This keeps the SDL backend's 8 behaviour closer to the svgalib one. 9 102005-01-23 Russell Marks <russell.marks@ntlworld.com> 11 12 * src/readgif.c (read_gif_file): made the width/height check 13 for multi-image (animated) GIFs a bit less harsh, it was 14 previously refusing to view animations with a particularly 15 large `screen size'. Now it should allow anything where the 16 individual images are smaller than 4MB once loaded (that's as 17 generous as I can be while keeping the maths easy :-)). 18 192005-01-20 Russell Marks <russell.marks@ntlworld.com> 20 21 * Added SDL mouse support, and modified mouse support to work in a 22 delta-based way friendier to non-svgalib backends. Thanks to 23 Dimitar Zhekov for both of these. 24 252005-01-05 Russell Marks <russell.marks@ntlworld.com> 26 27 * src/readgif.c (read_gif_multi): the height-limiting changes 28 exposed a long-standing bug with `im->image' in this. Thanks to 29 Mikulas Patocka for the fix. 30 312004-12-17 Russell Marks <russell.marks@ntlworld.com> 32 33 * src/readpnm.c (read_pnm_main): fixed possible hang when reading 34 corrupted non-raw PBM files. 35 36 * src/readgif.c (readimagehed): fixed possible hang when reading 37 GIF files with corrupted ext. blocks. Thanks to Mikulas Patocka 38 for finding this. 39 402004-12-16 Russell Marks <russell.marks@ntlworld.com> 41 42 * src/zgv_io.c (zgv_io_timer_stop): fixed a timer-related bug with 43 the SDL version, where it could leave the timer-interrupt flag on 44 after the timer was disabled. Thanks to Dimitar Zhekov for 45 spotting this one. 46 472004-11-02 Russell Marks <russell.marks@ntlworld.com> 48 49 * doc/zgv.texi (Invoking zgv): fixed "walk" typo. 50 (Showing More Files): 20 thumbnails are shown by default, not 12. 51 522004-10-31 Russell Marks <russell.marks@ntlworld.com> 53 54 * Added width/height limits to all picture readers, 55 32767x32765 is now the maximum image size supported 56 (essentially consistent with xzgv). This is a crude (albeit 57 effective) fix for heap overflow bugs - there may yet be more 58 subtle problems, but I can't really fix them until I know 59 they're there. :-) Thanks to Luke Macken for letting me know 60 about the heap overflow problems. I suppose I should also 61 thank "infamous41md" for publishing the original 62 advisory/exploit, even if he didn't bother emailing me or 63 anything. 64 65 * src/readxpm.c (read_xpm_file): fix for exploitable malloc() arg 66 overflow. There are several more of these in zgv, but this is the 67 easiest to fix. 68 692004-07-08 Russell Marks <russell.marks@ntlworld.com> 70 71 * src/readgif.c (read_gif_file): added more multiple-image (e.g. 72 animated) GIF brokenness checks than before. Previously it was 73 possible to get a segfault with the `right' file, despite there 74 already being various range checks. Thanks to Mikulas Patocka for 75 spotting this. 76 772004-03-29 Russell Marks <russell.marks@ntlworld.com> 78 79 * Version 5.8. 80 81 * src/zgv_io.c (zgv_io_fixfsmode): the SDL backend is now a lot 82 more sensible about automatically picking a file selector mode, 83 and should have a better chance of working when using a 84 single-mode VESA framebuffer. Thanks to David Matthews for 85 indirectly spotting this problem. 86 87 * src/zgv_io.c (zvga_init): the SDL backend will now only ever use 88 SDL's emulation for 8-bit modes. This should improve picture 89 quality when only 8-bit modes are available, and make all modes 90 other than 24/32-bit quite a bit faster. Thanks to David Matthews 91 for inspiring this change. 92 93 * src/vgadisp.c: changed 15/16-bit dithering - instead of using a 94 rather poor dither pattern in an attempt to use up every last 95 `extra' bit of colour information, it now uses 2 bits from each 96 channel in a much nicer (and smaller) pattern. 97 98 * INSTALL: added comment on stdout problem with FreeBSD, which 99 seems to affect the current svgalib 1.4.3 port at least. 100 1012004-02-21 Russell Marks <russell.marks@ntlworld.com> 102 103 * Added FreeBSD support, thanks to Radim Kolar for contributing 104 this. The changes involved aren't too big really, `just' different 105 key-reading and console-allocating routines. 106 107 * config.mk (RCFILE): default location for zgv.conf is now 108 /usr/local/etc rather than /etc, which seems more appropriate 109 given that the default PREFIX is now /usr/local. 110 1112004-01-05 Russell Marks <russell.marks@ntlworld.com> 112 113 * src/vgadisp.c: added support for dithering in 15/16-bit modes. 114 It's slower than I'd hoped, so it's not enabled by default, but it 115 seems to work well enough. You can toggle it in the viewer by 116 pressing `F', or add `dither-hicol on' to a config file. Thanks to 117 Stephane ODUL for suggesting this. 118 119 * src/vgadisp.c: moved `fake-cols' toggle key from `F' to `G'. 120 1212003-10-20 Russell Marks <russell.marks@ntlworld.com> 122 123 * src/bdf2h.c (main): removed embedded LFs. Thanks to Dimitar 124 Zhekov for the patch. 125 1262003-10-04 Russell Marks <russell.marks@ntlworld.com> 127 128 * Added `fullscreen' option, to override possible use of a 129 windowed display with non-svgalib backends in some situations, the 130 obvious example being the SDL backend running under X. This isn't 131 necessarily what you'd want, and has problems like not being able 132 to fill the screen in modes it doesn't support natively under 133 svgalib. And SDL seems to cause further problems from what I've 134 seen, e.g. display glitching and a briefly-visible mouse pointer 135 when changing modes fullscreen under X. 136 137 * src/zgv_io.c (zvga_setmode): fixed missing-picture-update bug 138 when doing certain mode changes under SDL. 139 140 * config.mk (PREFIX): finally changed this to /usr/local. `make 141 install' now removes any existing program and documentation in the 142 old default locations. 143 144 * src/vgadisp.c (animate_gif): `x' now aborts GIF animation like 145 Esc does. Thanks to Thomas M. Ott for pointing out the 146 inconsistency. Note that I don't consider supporting this slightly 147 pointless alternative to Esc to be terribly important (e.g. 148 dialogs don't support it and never have, and they've been in zgv 149 since 1993), and couldn't add it everywhere even if I wanted to 150 (e.g. change-to-arbitrary-directory dialog). 151 152 * src/zgv_io.c: added timer start/stop to backend code, so now 153 timer-based stuff (most notably GIF animation) works ok under 154 SDL. While doing this I removed support for a repeat-timer 155 setting of "-1" (i.e. constantly reload the image), which had 156 been broken previously anyway. 157 1582003-09-16 Russell Marks <russell.marks@ntlworld.com> 159 160 * src/vgadisp.c (redrawgif): fixed long-standing bug with 161 interpolation (fix ported from xzgv). In xzgv the bug could have 162 caused segfaults, but I don't believe this was the case in zgv due 163 to the way it allocates memory. 164 1652003-07-31 Russell Marks <russell.marks@ntlworld.com> 166 167 * src/zgv_io.c: added SDL getbox routine, fixing one of the 168 display glitches (dialogs not restoring previous screen contents). 169 Also stopped the putbox routine using memcpy(), as you're not 170 supposed to make library calls when an SDL surface is locked. 171 (native_col_to_sdl): fixed colour glitches in dialogs. 172 1732003-07-07 Russell Marks <russell.marks@ntlworld.com> 174 175 * Version 5.7. 176 177 * src/readpng.c (read_png_file): don't set background colour 178 to black for mono PNG files, where this may cause problems. 179 Thanks to Morten Bo Johansen for spotting this. 180 1812003-06-30 Russell Marks <russell.marks@ntlworld.com> 182 183 * New `--auto-mode-fit-diff' option, allows you to specify a pixel 184 width/height to be disregarded when zgv picks a mode to use and 185 auto-mode-fit is enabled. So e.g. a 330x250 image would be shown 186 in 320x240 mode if auto-mode-fit-diff is 10. Thanks to Dimitar 187 Zhekov for this. 188 189 * src/mousecur.c: fixed mouse cursor appearance in 32-bit modes. 190 Thanks to Dimitar Zhekov for the patch. 191 1922003-04-10 Russell Marks <russell.marks@ntlworld.com> 193 194 * src/rcfile.c (usage_help): similar changes to usage help. 195 196 * doc/zgv.texi: restored documentation for `-r', `-s', and `-w' 197 options, which was mistakenly dropped when I added long-option 198 support. 199 2002003-04-05 Russell Marks <russell.marks@ntlworld.com> 201 202 * Added support for display backends other than svgalib, 203 largely done by defining the svgalib functions used when 204 svgalib isn't the backend. These are clearly never going to be 205 *better* than the svgalib backend, as zgv was written for that 206 - but if svgalib isn't available or whatever, at least this 207 gives you the possibility of running zgv some other way. 208 Currently the only other backend is for SDL - it works (albeit 209 with some display glitches), but it's intended mainly as a 210 proof-of-concept. Though it does give you the faintly ironic 211 choice of whether to use xzgv or X zgv... :-) 212 213 * doc/makeman.awk: fixed some bugs which became apparent when run 214 with gawk 3.1. 215 2162003-03-15 Russell Marks <russell.marks@ntlworld.com> 217 218 * src/readgif.c (decompress): removed similar comment, which was 219 wrong anyway since outputstring() hasn't been recursive for a year 220 or two now. 221 222 * src/vgadisp.c: removed silly, dated comments about slowness of 223 passing some things as parameters. It was true in 1993 to some 224 extent, but certainly not now. Thanks to "Mitchell" for 225 questioning this. 226 2272002-07-02 Russell Marks <russell.marks@ntlworld.com> 228 229 * doc/zgv.texi (Invoking zgv): added mention of selector mode 230 being forced to 8-bit in documentation for `--fs-start-mode'. 231 (Config Variables): fixed severe thinko (mode-bad where I meant 232 mode-good) in documentation for mode-all-bad. :-) 233 234 * src/rcfile.c (modematch): fixed to allow 32-bit modes, which 235 previously couldn't be specified on the command-line. Thanks to 236 "kscott" for spotting this one. 237 2382002-05-05 Russell Marks <russell.marks@ntlworld.com> 239 240 * Version 5.6. 241 242 * src/modesel.c: added 15/16/24/32-bit 320x240 modes. Thanks to 243 Michal Svec for suggesting this. Currently only the 24/32-bit mode 244 is selectable directly (using `^', on the assumption that it's 245 shift-6 - unshifted 6 selects 320x240x8). 246 2472002-04-15 Russell Marks <russell.marks@ntlworld.com> 248 249 * src/vgadisp.c (draw_rb_menu): if a 32-bit mode existed without a 250 corresponding 24-bit mode, and it was one of the modes which are 251 listed on the viewer right-button menu, then it was incorrectly 252 `greyed out', i.e. made unavailable from the menu. Thanks for 253 Dimitar Zhekov for spotting this. 254 2552002-04-07 Russell Marks <russell.marks@ntlworld.com> 256 257 * src/zgv.c: added multi-file delete. This is on `D', by analogy 258 with `C' and `M' for copy/move (since it works the same way) - the 259 single-file-only delete remains available on the Delete key. A new 260 config variable `delete-tagged-prompt' says whether to prompt 261 before deleting all tagged files (enabled by default). Thanks to 262 Max Drozdoff again, for prodding me into action on this. :-) 263 2642002-03-31 Russell Marks <russell.marks@ntlworld.com> 265 266 * src/zgv.c (delete_file): when using `delete-single-prompt off', 267 it previously didn't update the screen after the deletion. Thanks 268 to Max Drozdoff for spotting this one. 269 2702001-11-01 Russell Marks <russell.marks@ntlworld.com> 271 272 * src/readgif.c (read_gif_file): in the very unusual case of both 273 global and local colourmaps being present, they were applied in 274 the wrong order. Thanks to Michal Svec for spotting this. 275 2762001-10-25 Russell Marks <russell.marks@ntlworld.com> 277 278 * src/rcfile.c: removed `--version-svgalib' option, this was 279 causing trouble when compiling with old versions of svgalib. 280 2812001-10-24 Russell Marks <russell.marks@ntlworld.com> 282 283 * src/readtga.c (fix16bit): should now support 16-bit RGB files. 284 16-bit palette-based files *may* also work now, but are untested - 285 it's not all that easy to find samples of these rather unusual 286 types of TGA file. Thanks to Michal Svec for spotting the problem. 287 2882001-10-21 Russell Marks <russell.marks@ntlworld.com> 289 290 * src/rcfile.c (usage_help): new `-A' or `--auto-animate' option, 291 forces the viewer to automatically animate multiple-image GIF 292 files. Thanks to John Fitzgerald for suggesting this (more or 293 less). It limits your viewing options greatly, of course (since 294 it's like pressing `e' every time you view one, and exiting the 295 image when you exit the animation), but can be handy for 296 slideshows etc. When this option is enabled, you can use 297 Backspace/Enter/Space for file navigation/tagging during an 298 animation. (The skip-to-next-frame key (previously Enter) is now 299 `n'.) 300 3012001-10-04 Russell Marks <russell.marks@ntlworld.com> 302 303 * Version 5.5. 304 305 * src/Makefile (clean): now removes rcfile_*.h, which are easily 306 rebuilt. 307 308 * src/readbmp.c (read_bmp_file): don't implicitly assume function 309 calls in expressions are evaluated left-to-right when calculating 310 offset. 311 (read_bmp_file): fix for progress indicator when using BMP's 312 utterly bizarre move-loading-position code which, happily, no-one 313 actually seems to use. :-) Thanks to Jakub Bogusz again. 314 315 * src/zgv.c (showhowfar): now ensures sofar is no greater than 316 total, rather than assuming caller gives valid input. 317 (xv332_how_far): same change as above. 318 3192001-09-30 Russell Marks <russell.marks@ntlworld.com> 320 321 * src/zgv.c (recursive_update): recursive thumbnail update, ported 322 from xzgv. 323 3242001-09-29 Russell Marks <russell.marks@ntlworld.com> 325 326 * src/zgv.c: renamed "Show filename" menu item to "Show file 327 info". 328 329 * src/3deffects.c (msgbox): rewritten file-details dialog, now 330 gives more info and looks rather better. (Based on the one xzgv 331 has.) 332 333 * src/zgv.c (makexv332): now generates correct height comment for 334 animated GIFs. 335 (showgifdir): no longer undraws/redraws scrollbar unnecessarily 336 during thumbnail update. 337 338 * src/readbmp.c (read_bmp_file): fixed many, many places where it 339 could leak a file descriptor on failing to load an image. 340 (read_bmp_file): fixed RLE corruption and possible segfault. 341 Thanks to Jakub Bogusz for the patch. 342 (read_bmp_file): added bounds-checking, which should catch 343 problems with corrupt files. There was a definite chance of a 344 local DoS previously (given a maliciously-corrupted file). Thanks 345 to Jakub Bogusz again for pointing this out. Ghod, I hadn't 346 realised the BMP format was so evil as to have a `move current 347 position' thing... ugh... :-( 348 (read_bmp_file): 8-bit non-RLE was reading a full line, rather 349 than only the valid pixels in it, which corrupted the edges - 350 fixed. 351 3522001-09-22 Russell Marks <russell.marks@ntlworld.com> 353 354 * src/zgv.c (inithowfar): now uses drawbutton(). Removed inner 355 bevel. Changed old "Decompressing" text to "Reading". 356 357 * src/scrollbar.c: now uses drawbutton() to draw arrow buttons and 358 slider. 359 360 * src/3deffects.c (drawbutton): all `buttons' are now drawn in a 361 GTK+-ish manner, and thus no longer look so crap. :-) 362 363 * src/helppage.c (showhelp): dropped the decidedly unhelpful `3D' 364 text in help pages, they just draw normal text now. 365 366 * src/scrollbar.c (draw_scrollbar_main_empty): halved 367 empty-scrollbar `depth'. Makes more sense :-), and makes it a bit 368 clearer. 369 370 * src/zgv.c: redesigned selector screen somewhat. The logo is 371 gone, replaced with something nearer to a `title bar', and the 372 directory name moves there. The inner bevels around blocks of 373 screen are gone. Along with making the longest displayable 374 filename a tiny bit shorter (half-a-char on average), this means 375 that the default display shows 5x4 thumbnails rather than 4x3. The 376 scrollbar is now enabled by default whether you're using a mouse 377 or not, to make your position in the file list clearer. The 378 fullscreen-selector toggle (on `f' and `z') is gone, as is the old 379 `fullsel' option which matched it (it now gives a warning). 380 381 * src/vgadisp.c (redrawgif): scaling up previously drew an entire 382 line unnecessarily for images which remained smaller than the 383 screen when scaled up - fixed. 384 385 * doc/sample.zgvrc: converted to use new option names. Also 386 tweaked the layout slightly. 387 3882001-09-20 Russell Marks <russell.marks@ntlworld.com> 389 390 * src/rcfile.c (parsecommandline): added GNU-style long-option 391 support, and changed/reorganised config file option names to suit 392 this; see `Invoking zgv' in info file or `OPTIONS' in man page. 393 Essentially things are a lot more xzgv-like now. That said, most 394 old option names are still supported in config files, so it 395 shouldn't break things. 396 (defaultcfg): removed `hicontrol' option; being able to disable it 397 was always of questionable value with it being such an obviously 398 Good Thing. zgv now always acts as if the option were enabled 399 (i.e. no change in default behaviour), and gives a warning if the 400 option is mentioned. Also removed `hicolmodes', which has long 401 been obsolete, with a similar warning if it's seen. 402 (parsecommandline): the `centre' setting can no longer be toggled 403 on the command-line with the `-c' option. (But now you can use 404 `--centre=off' to disable it.) 405 406 * src/vgadisp.c (animate_gif): now supports animation with the 407 same orientation as the normal picture. (So for example you can 408 flip the picture, and the animation will be of similarly flipped 409 frames.) 410 (showgif): optional black background in 8-bit modes, disabled by 411 default (use the `black-background' config file option to enable). 412 It works by swapping the nearest-to-black palette index with the 413 zero index, and altering the in-memory image to match. This can be 414 rather nice for consistency with high-colour images, but means 415 8-bit images can take longer to appear. 416 (animate_gif): animating in zoom mode no longer pointlessly clears 417 the screen for each frame. 418 419 * doc/zgv.texi (Supported File Formats): the default location of 420 rgb.txt changed some time back, updated the mention here. 421 4222001-09-18 Russell Marks <russell.marks@ntlworld.com> 423 424 * src/vgadisp.c: made repeat_sig a volatile int, though in 425 practice I seem to have got away with this before. :-) 426 (animate_gif): GIF animation speed is now much, much more 427 accurate; it previously tended to run rather slowly. 428 429 * src/vgadisp.c (showgif): didn't previously do the required 430 redraw when toggling fakecols (with `F') when in 16-colour mode. 431 432 * src/3deffects.c (msgbox): message boxes can now pop up over the 433 existing viewer screen in most cases (i.e. in any mode which is 434 640x480 or higher), using much the same approach as the mouse menu 435 does. This means that e.g. doing `:' in the viewer to get file 436 info generally doesn't need a mode switch any more. 437 4382001-09-09 Russell Marks <russell.marks@ntlworld.com> 439 440 * src/readgif.c (outputstring): broken GIFs could overrun a buffer 441 previously - fixed. Any DoS exploit would have been rather 442 non-trivial, as it was a static buffer with overruns `carefully' 443 limited to 12k. (Yes, this was a weird one... :-)) 444 4452001-07-21 Russell Marks <russell.marks@ntlworld.com> 446 447 * src/zgv.c (showerrmessage): fixed buffer overrun. The source 448 string was from JPEG/PNG library error messages, though, so in 449 practice I doubt any DoS exploit was possible. 450 451 * SECURITY: slight correction - you don't have to own the console 452 to run zgv if you're running as root. Doesn't really make any 453 difference to what I was saying given the context, but worth 454 getting it right. 455 456 * src/zgv.c (rename_file): used to implicitly rely on the buffer 457 used in 3deffects.c's cm_getline() being exactly 256 bytes to 458 avoid a buffer overrun. This did happen to work (since it *is*), 459 but, yuck. Fixed that, and took the opportunity to avoid some 460 duplicated code, too. 461 4622001-06-30 Russell Marks <russell.marks@ntlworld.com> 463 464 * Version 5.4. 465 466 * Changed email address most places to my svgalib.org one. 467 4682001-06-21 Russell Marks <russell.marks@ntlworld.com> 469 470 * src/3deffects.c (msgbox): now only changes mode for error if it 471 has to (thanks to Wim Osterholt for spotting this). There's little 472 real benefit in this change at the moment, but it makes it 473 consistent with mode change behaviour elsewhere, and will be 474 useful if it's ever changed to try and stick in the same mode 475 where possible (as it really ought to...). 476 4772001-06-13 Russell Marks <russell.marks@ntlworld.com> 478 479 * src/vgadisp.c (setmode_or_clear): previously set the mode to 480 `curvgamode' rather than `newmode' - fixed that. But luckily, it's 481 always been called with newmode==curvgamode. :-) 482 4832001-06-04 Russell Marks <russell.marks@ntlworld.com> 484 485 * src/rcfile.c (getbool): now allows `1' and `0' as alternatives 486 to `on'/`off' and `yes'/`no' for boolean option setting. Also made 487 the documentation a bit clearer about how bools can be set. Thanks 488 to Johannes Zellner for indirectly noticing the problem. 489 490 * src/zgv.c (ispicture): you can now optionally use magic-number 491 testing to choose which files to list in the selector (Alt-m 492 toggles it, and `fsmagic' is the relevant config file var). This 493 approach is much slower, but useful when you have files lacking 494 extensions. Thanks to Dank� Mikl�s for suggesting this. 495 (makedirxv332): animated GIFs now have thumbnails showing only the 496 first image. The current implementation is a bit kludgey (it reads 497 the lot, then ignores everything after the first :-)), but I'd put 498 this off long enough that it was worth it just to get it done. 499 5002001-05-29 Russell Marks <russell.marks@ntlworld.com> 501 502 * src/readbmp.c (read_bmp_file): some 24-bit BMPs seem to have 503 extraneous palettes, so we skip those now. Fixes some files which 504 were previously broken. Thanks to Matan Ziv-Av again for spotting 505 this. 506 5072001-05-25 Russell Marks <russell.marks@ntlworld.com> 508 509 * src/vgadisp.c (aborted_file_cleanup): TIFF abort was broken 510 previously, though you can't actually abort TIFF-reading at the 511 moment anyway so it was kind of a theoretical bug... :-) 512 513 * src/readbmp.c (read_bmp_file): hacked to avoid various 514 running-on-x86 assumptions (endianness etc.). Thanks to Matan 515 Ziv-Av for spotting this. Also fixed BMP-read aborting, which 516 would have (at best) segfaulted in its previous form. And 517 dithering 24-bit BMPs to 8-bit was badly screwed up, using the 518 wrong palette and ignoring the jpeg24bit option - now fixed. 519 5202001-04-26 Russell Marks <russell.marks@ntlworld.com> 521 522 * src/modesel.c (check_modedesc_array): fixed typo in error. :-) 523 5242001-04-25 Russell Marks <russell.marks@ntlworld.com> 525 526 * doc/zgv.texi (Gamma Adjustment): whoops, another outdated 527 keypress - `:' doesn't reset brightness/contrast any more, changed 528 to `;'. 529 5302001-04-23 Russell Marks <russell.marks@ntlworld.com> 531 532 * src/vgadisp.c: improved 640x480x4 colour dithering slightly, and 533 changed so it now transparently adjusts base gamma (without 534 changing the effect of user-specified gamma); the dithered image's 535 `normal' relative gamma is now 2.2. Essentially, it tends to look 536 a bit more like it does in proper 8-bit modes now. :-) Also added 537 optional error-diffused dithering (enable with Alt-c or 538 `fastdither16col off' in config file) - this usually looks better, 539 but is much too slow to be the default. 540 541 * src/vgadisp.c: 640x480x4 was still listed on `4' on the mode 542 help page, when it's been on `0' for a while. (Similar problem 543 with mouse menu meant the 640x480x4 option on that wasn't working, 544 either.) Thanks to Wim Osterholt for spotting this. 545 5462001-04-10 Russell Marks <russell.marks@ntlworld.com> 547 548 * src/readbmp.c (read_bmp_file): fix for 16-colour BMPs. I think 549 all 16-colour BMPs with width not a multiple of 8 were previously 550 broken. Thanks to Vlad Harchev for reporting this. 551 5522001-04-08 Russell Marks <russell.marks@ntlworld.com> 553 554 * src/zgv.c: previously, when you deleted a file, or a 555 file-move wasn't successful, all tags were lost. This could be 556 extremely annoying at times. It's finally fixed. Thanks to 557 Dank� Mikl�s for reminding me about this one (I'd noticed it 558 before). 559 5602001-03-22 Russell Marks <russell.marks@ntlworld.com> 561 562 * src/readgif.c (read_gif_multi): previously didn't read broken 563 animated GIFs (those with multiple image block terminators, which 564 breaks the GIF spec) - it stopped after one image. *Not* a bug, 565 but it now tolerates such bogosity anyway. Thanks to Daniel Biddle 566 for spotting this. 567 5682001-03-16 Russell Marks <russell.marks@ntlworld.com> 569 570 * src/readgif.c (read_gif_multi): a fix for `restore to background 571 colour' replacement method in animated GIFs - it previously 572 trusted the left/top/width/height values for the GIF images to be 573 sane (i.e. to fit within the defined `screen'). Not only was this 574 a Bad Idea (whoops), there really are GIFs out there which screw 575 up something as pathetically basic as this. Joy. Remind me again 576 just why the fsck I bother supporting GIF at all? Thanks to Michal 577 Svec for spotting the problem. 578 5792001-02-12 Russell Marks <russell.marks@ntlworld.com> 580 581 * src/vgadisp.c: added equivalent of xzgv's zoom-reduce-only 582 option, which lets you reduce big pictures in zoom mode without it 583 also enlarging small ones. It's on Alt-r, and the config file 584 option `zoom_reduce_only'. Thanks to Jan Blasiak for this. 585 5862001-01-22 Russell Marks <russell.marks@ntlworld.com> 587 588 * doc/makeman.awk: when I changed `Invoking Zgv' to `Invoking zgv' 589 - which I think dates back to version 5.2 - makeman.awk's renaming 590 of that section to `OPTIONS' broke. So the man page was even more 591 bizarre than usual. :-) 592 5932001-01-18 Russell Marks <russell.marks@ntlworld.com> 594 595 * Version 5.3. 596 597 * doc/zgv.texi (Using a Mouse): removed old warning about 598 /dev/cua*, hopefully people have got the message by now. :-) 599 600 * src/zgv.c (file_count): you can now use Alt-f in the selector to 601 get a file and tagged-file count, i.e. to show how many files 602 there are in the dir, and how many are tagged. Thanks to Leopoldo 603 Cerbaro for this idea. 604 6052001-01-15 Russell Marks <russell.marks@ntlworld.com> 606 607 * Added support for PRF, which is basically a kind of extrapolated 608 version of my old mrf format - unlike mrf, PRF supports greyscale 609 and colour. Thanks to Brian Raiter for both devising the format, 610 and writing the reference implementation readprf.c is heavily 611 based on. 612 6132001-01-11 Russell Marks <russell.marks@ntlworld.com> 614 615 * src/vgadisp.c (showgif): file details in viewer now give the 616 correct height for animated GIFs (even though this doesn't 617 actually match the height when viewing them in the viewer in a 618 non-animated way). The selector will still report the 619 one-image-on-top-of-another size, but that needs a rather more 620 complicated fix. 621 6222001-01-07 Russell Marks <russell.marks@ntlworld.com> 623 624 * src/vgadisp.c: mode help now mentions `[' and `]' keys, which 625 are probably of interest... 626 627 * src/vgadisp.c: `:' now shows file details in viewer. Thanks to 628 Leopoldo Cerbaro for suggesting this sort of thing, even if it's 629 not entirely what he had in mind. :-) It has to change modes, so 630 it's a bit ugly, but may be useful if you're using zgv from lynx 631 or something. (Note that in this case, image width/height are 632 always reported, and don't depend on any thumbnail.) 633 634 * src/zgv.c (file_details): file details reported now include 635 image width/height (if recorded in thumbnail). 636 637 * src/3deffects.c: fixed a slightly misleading comment - msgbox() 638 uses file-selector mode when it needs to change modes. 639 6402001-01-04 Russell Marks <russell.marks@ntlworld.com> 641 642 * src/readtiff.c: looked at a couple of possible ways of adding a 643 progress report to the TIFF reader, and decided against doing it. 644 It's just too hairy, the only tolerable way which was remotely 645 close to working slowed it down, and at least this way it's 646 arguably more obvious that Esc won't abort. :-/ 647 6482000-12-28 Russell Marks <russell.marks@ntlworld.com> 649 650 * src/readtiff.c: added libtiff-using TIFF reader. No more 651 tifftopnm kludges :-), and it makes things a lot faster. 652 Though it does currently mean there's no progress report while 653 reading the TIFF. 654 6552000-12-21 Russell Marks <russell.marks@ntlworld.com> 656 657 * `make install' permissions changed to world-readable and 658 owner-writable, for both executable and (FWIW) info file/man page. 659 Doing the old (4)511 thing was more force of habit than anything 660 else, and the Debian Policy Manual makes a fair argument for 661 readable executables. 662 6632000-12-15 Russell Marks <russell.marks@ntlworld.com> 664 665 * src/readgif.c (outputstring): now implemented 666 non-recursively, which should prevent similar GIF problems in 667 the future. It should also guard against hanging on broken 668 GIFs with recursive (or mutually recursive) `strings', as it 669 limits the output to the max possible from the LZW used in GIF 670 (4096 bytes). 671 6722000-12-13 Russell Marks <russell.marks@ntlworld.com> 673 674 * src/readgif.c (decompress): inittable() shouldn't have trusted 675 code size to match numcols. It broke on a certain flavour of 676 unusual and suboptimal, but valid, GIF with less than 256 colours 677 (probably generated by a `broken' encoder). This was pretty 678 horrible, as it hammered the stack and dumped you out while still 679 in graphics mode. Yuck. Thanks to Lenart Janos, Josip Rodin, and 680 Chris Lawrence for spotting this and/or pushing the bug report to 681 your friendly neighbourhood upstream maintainer. :-) 682 683 * src/magic.c (magic_ident): big-endian TIFF magic was wrong. I'd 684 hope these aren't that common, given that nobody noticed it. :-) 685 [Actually, Gaute Strokkenes filed a Debian bug report about it 686 a week or two later.] 687 6882000-11-08 Russell Marks <russell.marks@ntlworld.com> 689 690 * doc/sample.zgvrc: added note above `startmode' that the depth is 691 effectively irrelevant since zgv adjusts that as needed, and added 692 sample entry for `fs_startmode', making it clear how the two 693 differ. Also fixed reference to non-existent man page section, 694 changing to "info file or man page" while I was at it. 695 6962000-11-04 Russell Marks <russell.marks@ntlworld.com> 697 698 * doc/makeman.awk: changed (man page's) first SEE ALSO entry from 699 xv to xzgv, which seems more appropriate somehow. :^) 700 701 * Changed Makefiles to use `cd foo && $(MAKE)' instead of the 702 previous `$(MAKE) -C foo'. (Intended as a first step towards 703 integrating a FreeBSD port.) Thanks to Michael Lynn for pointing 704 this out. 705 7062000-10-25 Russell Marks <russell.marks@ntlworld.com> 707 708 * doc/makeman.awk: previously, a one-line paragraph with a 709 formatting-type @-command would merge into the start of the next 710 paragraph (fix from xzgv). Hadn't yet caused problems in zgv, but 711 worth fixing. 712 713 * src/readgif.c (outputchr): was previously broken for 714 interlaced GIFs with less than 4 lines (fix ported from xzgv). 715 7162000-10-10 Russell Marks <russell.marks@ntlworld.com> 717 718 * Version 5.2. 719 720 * src/readnbkey.c: ok Sergei (Ivanov - see TIFF fix entry below), 721 Esc-Esc is now mapped to Esc (since it shouldn't break anything, 722 and I don't plan to use Alt-Esc). One of the weirder requests I've 723 had, but there you go. :-) 724 725 * doc/makeman.awk: whoops, didn't output "foo \- foo is a bar" 726 before, since gawk (quite reasonably) ate the single backslash. 727 :-/ 728 729 * doc/zgv.texi: updated `known bugs' and related sections. 730 731 * etc/README.bin: added note on TIFF support and the required 732 location of tifftopnm. 733 734 * Slightly tweaked comments in config.mk and etc/bin.makefile. 735 7362000-09-27 Russell Marks <russell.marks@ntlworld.com> 737 738 * src/vgadisp.c: *finally* added gamma support (ported from xzgv, 739 though I expect zgv 5.2 will get uploaded before xzgv 0.6). The 740 basic idea is to ignore the rather unworkable image/screen gamma 741 distinction, and just use a relative gamma with fast shortcuts for 742 common cases. So pressing `1' gives a gamma adjustment of 1.0 743 (i.e. no adjustment), `2' gives 2.2 (for e.g. viewing linear-gamma 744 files on an average PC monitor), `3' gives 1/2.2 (~0.45, for e.g. 745 viewing 2.2-gamma files on a linear-gamma display), and `4' 746 reverts to any `-G' setting (or 1.0 if none was set). You can also 747 use alt-comma and alt-dot for more precise control of gamma 748 adjustment. Note that gamma is deliberately *not* reset by the 749 brightness/contrast resetting keys. 750 751 * doc/zgv.texi: replaced `Zgv' with `zgv' throughout. The 752 mixed-case version has never really made sense IMHO, and I may as 753 well start trying to get rid of it. 754 755 * src/vgadisp.c: moved 640x480 16-colour mode select to `0' 756 (rather than 4) and off-by-one interpolation toggle to `!' 757 (rather than 1). This is to make room for gamma support (which 758 I'm porting from xzgv) which will need both those keys. 759 760 * src/zgv.c: previously, JPEG thumbnails for images over a 761 certain size were generated with bogus width/height info. This 762 isn't shown in zgv yet, but was a pain from things like xzgv. 763 If you found this an annoyance, you should delete any old 764 thumbnails generated by zgv 5.0 or 5.1 (removing the whole 765 .xvpics dir is easiest), and generate new ones. 766 767 * src/vgadisp.c: TIFF-reading used to blindly run an unmodified 768 filename through the shell. Fixed that. Thanks to Sergei Ivanov 769 for pointing this out, and suggesting the fix. Since the TIFF 770 reader still trusts that `tifftopnm' will do what the name 771 suggests, there's now a TIFFTOPNM setting in config.mk to specify 772 the exact location of the tifftopnm executable. 773 7742000-08-08 Russell Marks <russell.marks@ntlworld.com> 775 776 * src/zgv.c: root is now allowed to run zgv from any tty, for 777 consistency with svgalib's approach to this. (I was reluctant to 778 make this change, but if you're root there are rather worse things 779 you could do...) Thanks to Vlad Harchev for convincing me to do 780 this. :-) 781 7822000-06-01 Russell Marks <russell.marks@ntlworld.com> 783 784 * Version 5.1. 785 786 * etc/bin.makefile: added uninstall target here too. 787 788 * Makefile: added uninstall target. 789 7902000-05-10 Russell Marks <russell.marks@ntlworld.com> 791 792 * src/readpnm.c: now supports raw 16-bit PNMs, as added in netpbm 793 9.0. Thanks to Bryan Henderson for pointing out this format. 794 7952000-04-23 Russell Marks <russell.marks@ntlworld.com> 796 797 * Updated email address everywhere. (Except a few entries here, as 798 the dtn.ntl.com address was current when I wrote them, so it only 799 seems fair to leave them intact.) 800 801 * README: removed mrf junk which no-one cares about. :-) 802 803 * src/vgadisp.c: added keys to change to smaller/bigger 804 (lower/higher-res) video mode, `[' and `]' respectively. These 805 follow the same mode-selecting rules as auto-mode-fit (no 320x200, 806 for example). Thanks to Michal Svec for this idea. 807 8082000-04-20 Russell Marks <russell.marks@dtn.ntl.com> 809 810 * etc/bin.makefile: added SHARE_INFIX stuff. This makefile (for 811 installing the binary distribution) defaults to the traditional 812 info/man locations, though, to try and avoid problems. 813 8142000-04-15 Russell Marks <russell.marks@dtn.ntl.com> 815 816 * src/bdf2h.c: since most package maintainers seem to insist on 817 `fixing' a `buffer overrun' for a non-setuid program run at 818 compile time only putting a max of *three chars* in a 128-byte 819 buffer, I rewrote the code. Mumble pedantic bastards mumble ;-) 820 8212000-04-14 Russell Marks <russell.marks@dtn.ntl.com> 822 823 * config.mk: now installs info file/man page under the 824 FHS-friendly /usr/share/{info,man/man1} by default. Comment out 825 SHARE_INFIX to get the old locations. 826 8272000-04-13 Russell Marks <russell.marks@dtn.ntl.com> 828 829 * src/zgv.c: now maps ^D to D in xzgvkeys mode (delete file). 830 831 * src/vgadisp.c: added auto-mode-fit mode (enabled by shift-z in 832 viewer, or `automodefit on' in config file, but disabled by 833 default) which, if enabled, chooses the `smallest' mode in which 834 the picture can be shown in its entirety. A bit like zoom mode, 835 but using video modes to do the work. Thanks to Michal Svec for 836 suggesting this one. I feel duty bound to point out that all the 837 mode-switching can be a bit hard on your monitor, so even if you 838 really like this idea you might not want to enable it all the 839 time. Still, it's up to you. 840 8412000-03-10 Russell Marks <russell.marks@dtn.ntl.com> 842 843 * Added an `xzgvkeys' mode which changes some keys to match xzgv, 844 as while xzgv has similar keys to zgv some of them differ - in 845 particular, the tagging keys in the selector, and the 846 previous/next/tag-then-next keys in the viewer. 847 848 * src/readnbkey.c: now more flexible in allowing Alt-foo key 849 combinations like Alt-=. 850 851 * src/zgv.c: fixed typo which meant that, if you started up in a 852 non-640x480 selector with the mouse enabled, it still started at 853 (320,240). 854 8552000-02-05 Russell Marks <rus@cartman> 856 857 * src/zgv.c: file rename used to theoretically allow renaming to 858 `./foo', but screwed up the test. Made it just refuse anything 859 with `/' in, formalising the bug. :-) 860 8612000-01-23 Russell Marks <rus@cartman> 862 863 * src/zgv.c: fixed a (really spectacularly unlikely) buffer 864 overrun in fixvt(). (You'd have to have hacked the kernel to do 865 this one, and your exploit m/c would have to be in a single 866 returned int such that the appropriate "%d" would expand it into 867 the string - challenging for sure. And that's assuming it was 868 an auto array; since it was already static it'd be even more 869 `interesting'. :^)) 870 8712000-01-22 Russell Marks <rus@cartman> 872 873 * SECURITY: new file discussing security issues. 874 875 * src/readxpm.c: buffer overrun fixes - long colour names had two 876 different ways they could screw up. :-/ 877 878 * src/vgadisp.c: buffer overrun fix - a TIFF with a >256-char or 879 so filename (possible from cmdline) would previously have done so. 880 8812000-01-16 Russell Marks <rus@cartman> 882 883 * doc/zgv.texi (Restrictions): errr, 32-bit video modes *are* 884 supported... :-) 885 8862000-01-09 Russell Marks <rus@cartman> 887 888 * doc/zgv.texi (Copying/Moving Files): added entry for move file, 889 which I'd somehow managed to miss. :-/ Also, copy *doesn't* try to 890 preserve date, permissions etc., only move does (to keep 891 intra/inter-filesystem moves consistent). 892 8931999-12-10 Russell Marks <rus@cartman> 894 895 * AUTHORS: created. Just points at the main docs, I'm sure a 896 duplicate copy would get out of date. :-) 897 8981999-11-28 Russell Marks <rus@cartman> 899 900 * README: made pointer to docs more obvious (as in xzgv). 901 9021999-11-22 Russell Marks <rus@cartman> 903 904 * Version 5.0. 905 906 * src/vgadisp.c: GIF animation now always restores the picture's 907 original orientation before playing (the animation screws up 908 otherwise, especially if it's rotated). It restores the old 909 orientation on leaving animation mode. 910 9111999-11-16 Russell Marks <rus@cartman> 912 913 * src/vgadisp.c: when a multi-image GIF was animated with zoom 914 mode enabled, it didn't clear the screen on exiting the animation. 915 Without zoom enabled this is fine; however, *with* it enabled this 916 meant the (usually smaller - think about it) zoomed image was left 917 overlaid on a larger zoomed frame. So, fixed that. 918 9191999-11-06 Russell Marks <rus@cartman> 920 921 * doc/zgv.texi (Acknowledgements): reorganised to reflect the 922 slightly saner layout I used in xzgv's one. Also, added a credit 923 for `install-info'. 924 9251999-10-25 Russell Marks <rus@cartman> 926 927 * src/zgv.c: finally removed that annoying flashing off and on 928 of most of the display just to draw a newly-created/updated 929 thumbnail! 930 9311999-10-23 Russell Marks <rus@cartman> 932 933 * src/zgv.c: thumbnails are now generated with width/height info. 934 This isn't yet used by zgv, but it's used by (e.g.) xzgv's `file 935 details' dialog. 936 9371999-10-17 Russell Marks <rus@cartman> 938 939 * src/readgif.c: now resets the progress indicator for each image 940 loaded from the file. Not great, but better than always appearing 941 to be at 100% after the first image. :-) 942 943 * src/readgif.c: GIFs using palette indicies >=128 for 944 transparency previously had their transparency ignored (a couple 945 of `char *' pointers should have been `unsigned char *'). 946 9471999-10-16 Russell Marks <rus@cartman> 948 949 * src/vgadisp.c: `:' and `;' now both reset brightness and 950 contrast to normal (`*' still does this too). These keys make more 951 sense, I think (being next to the keys used for 952 brightness/contrast). I honestly have no idea why I picked `*' for 953 this originally... 954 9551999-10-15 Russell Marks <rus@cartman> 956 957 * src/readgif.c: ok, finally added Matan's animated GIF support. I 958 had to pretty much pull it apart to figure out what was going on 959 :-), and I tidied up parts of it a little, but the bits which were 960 actually related to multi-image GIF (rather than the N other 961 random changes) are mostly intact. One downside to this is that it 962 ignored `errignore', possibly as this becomes a lot more 963 complicated to handle with multiple images - so I've decided to 964 simply stop applying errignore to GIFs. (If you don't like this 965 change, feel free to say so...) 966 967 * src/readnbkey.c: the modes on shift-F1 to shift-F9 were two 968 keys out of sync on recent (?) keymaps (I didn't notice as I 969 don't tend to use these modes, and until a week or two ago 970 hadn't been able to use *any* SVGA modes for a few months). 971 Should now be fixed - and copes with both function-key-mapping 972 styles - but shift-F9 doesn't seem to generate anything with 973 the default keymap, so I had to move the 1280x1024x24 mode to 974 another key. I decided the least nasty thing to do would be to 975 move it to Tab-F1, and move up all the (1152x864 and 976 1600x1200) modes previously on Tab-F1..F8 up a key. Sorry if 977 this annoys anyone. 978 9791999-09-30 Russell Marks <rus@cartman> 980 981 * Added several changes from Debian as pointed out by Andy 982 Mortimer. Thanks to Andy and the others responsible for these. 983 Mostly these were fixes for potential buffer overruns, though 984 there was also a fix for corrupt GIFs (it could have hanged for 985 ones broken in just the right way before), and the removal of the 986 `-a' (alternate command) option (which was pretty nasty and of 987 questionable value anyway). 988 989 * Added Photo-CD support from Matan Ziv-Av. Matan generously 990 agreed to make this optional (I rather disapprove of 991 Photo-CD), and it's not included by default (you can choose to 992 include it or not at compile time in config.mk). Matan also 993 contributed animated GIF support, but I wasn't happy with the 994 implementation of the GIF-reading side (e.g. the 256-image 995 limit seems arbitrary, and a GIF with more images would 996 probably cause a segfault), so I've delayed adding this until 997 I can investigate that side of things more closely. 998 9991999-09-29 Russell Marks <rus@cartman> 1000 1001 * Uses libraries in a saner way, using `-lfoo' and assuming you've 1002 got them installed (it's a good bet that most people will have, or 1003 will be able to). 1004 1005 * PNG support is no longer optional. So no more excuse for not 1006 using this spiffy format. :-) 1007 10081999-09-25 Russell Marks <rus@cartman> 1009 1010 * src/zgv.c: more border-avoiding, here in the non-thumbnail mode. 1011 1012 * src/helppage.c: now deals with colours more like the selector, 1013 saving it from suddenly sprouting a border on e.g. the SiS driver. 1014 1015 * src/zgv.c: not doing a VT_WAITACTIVE in fixvt() seemed to be 1016 breaking things sometimes when switching from a graphics mode 1017 (particularly from X). 1018 10191999-08-18 Russell Marks <rus@cartman> 1020 1021 * src/vgadisp.c: corrected very serious bug - slight misquote in 1022 a jokey comment. ;-) 1023 10241999-08-09 Russell Marks <rus@cartman> 1025 1026 * src/rcfile.c: parseconfig() still had a K&R-ish declaration for 1027 some reason... :-) 1028 10291999-08-02 Russell Marks <rus@cartman> 1030 1031 * Several changes to avoid excessively pedantic egcs warnings 1032 about "ambiguous `else'". Also a couple of changes to avoid 1033 perfectly sensible warnings about multiple global `howfar' 1034 declarations. 1035 1036 * src/vgadisp.c: removed completely unused `nextline', which was 1037 leaking width*3 bytes on 15/16/24/32-bit displays for every redraw 1038 when viewing a scaled picture (i.e. scaling>1). 1039 10401999-06-28 Russell Marks <rus@cartman> 1041 1042 * src/mousecur.c: the mouse pointer is no longer distorted 1043 (double-width) in 320x400 and 360x480 modes. 1044 10451999-06-14 Russell Marks <rus@cartman> 1046 1047 * src/vgadisp.c: added scaling support in 320x400 and 360x480 1048 modes. 1049 10501999-05-24 Russell Marks <rus@lifeson> 1051 1052 * Version 3.3. 1053 10541999-05-23 Russell Marks <rus@lifeson> 1055 1056 * Removed dashes from NEWS; hopefully excerpts posted from it on 1057 c.o.l.a will look slightly less nasty now. :-) 1058 10591999-05-21 Russell Marks <rus@lifeson> 1060 1061 * Renamed README.src to INSTALL, and fixed references to it. 1062 10631999-05-11 Russell Marks <rus@lifeson> 1064 1065 * src/rcfile.c (usage): rephrased `-R' description to emphasise 1066 shuffling over randomisation, and tabified the usage help. 1067 1068 * src/zgv.c: you can now use R to rename a file, by analogy with 1069 C, M, and D for copy/move/delete. The old alt-r still works, 1070 though. The slideshow shuffle (randomise) toggle is now only 1071 available on S. 1072 1073 * src/modesel.c: fixed a couple of comments which were out-of-date 1074 and a bit misleading. 1075 10761999-04-21 Russell Marks <rus@lifeson> 1077 1078 * Added 32-bit support, since apparently some cards provide 32-bit 1079 modes but not 24-bit ones. The mode-match stuff (and keys to 1080 select 24-bit modes) will choose 24-bit over 32-bit, but will use 1081 32-bit if that's all that's available. (The idea behind this is 1082 that 32-bit modes are slower than 24-bit ones; there's no way I 1083 can actually test this though.) Some of the 32-bit support (the 1084 converting from 24-bit and copying to the screen) is from Matan 1085 Ziv-Av's newzgv 4.2 - that looks reasonable and presumably works. 1086 (An important point as I can't test it. :-)) 1087 1088 * Mode-matching is now a bit more sane, and shouldn't use any 1089 modes not available from the keyboard any more. Also took this 1090 opportunity to unify all the mode-selecting stuff a bit, it now 1091 all uses a modedesc[] array (defined in modesel.c), so adding a 1092 new mode to zgv should now merely be a case of adding an entry to 1093 this array. (Though documenting the addition must still be done 1094 separately. :-)) 1095 10961999-04-18 Russell Marks <rus@lifeson> 1097 1098 * src/zgv.c: thumbnail update's "Resampling..." text could 1099 previously have appeared in just about any colour. :-) 1100 1101 * src/resizepic.c: fixed bug where thin images would cause FP 1102 exceptions. (This applied to pictures with aspect ratios wider 1103 than 80:1 or taller than 1:60.) Thanks to Jan Willamowius for 1104 finding this one. 1105 11061999-04-16 Russell Marks <rus@lifeson> 1107 1108 * src/zgv.c: changed `-T' behaviour to output files separated by 1109 LFs, not spaces. (Also changed rather dim use of 1110 printf(gifdir[f].name), which wouldn't have been fun for filenames 1111 with `%' in. :-)) Thanks to Bill Stone for bringing the problem 1112 this causes for filenames with embedded spaces in to my attention. 1113 11141999-04-08 Russell Marks <rus@lifeson> 1115 1116 * src/vgadisp.c: vkludge in 8-bit modes is now slightly less 1117 accurate (it works with 15-bit RGB values rather than 18-bit 1118 ones), but considerably faster. 1119 1120 * src/vgadisp.c: you can now reverse the order in which brightness 1121 and contrast are applied, using `B' or the cfg file option 1122 `bc_order_rev'. 1123 11241999-03-30 Russell Marks <rus@lifeson> 1125 1126 * src/readpcx.c: multi-plane (4-bit or 24-bit) PCXs which had runs 1127 going across planes weren't decoded correctly; fixed that. 1128 11291999-03-28 Russell Marks <rus@lifeson> 1130 1131 * Makefile: got a clue and used `$(MAKE)' instead of literal 1132 `make' for recursive invocations. :-) What can I say, I was 1133 writing it quickly, everyone makes mistakes, the dog ate it. 1134 1135 * Makefile (src-tgz): corrected `--exclude' arg thinko - should 1136 have been `*/sav', not `*/sav*'. Didn't break anything, 1137 fortunately. 1138 11391999-03-21 Russell Marks <rus@lifeson> 1140 1141 * doc/zgv.texi: mentioned Electric Eyes as an xv-like program 1142 in rationale section. 1143 11441999-03-16 Russell Marks <rus@lifeson> 1145 1146 * Version 3.2. 1147 1148 * Man page is now automagically generated from zgv.texi by 1149 makeman.awk. 1150 1151 * Fixed `-p' bug where mouse pointer position was effectively 1152 uninitialised. 1153 11541999-03-15 Russell Marks <rus@lifeson> 1155 1156 * src/zgv.c: removed a couple more unnecessary redraws. 1157 1158 * src/zgv.c: fixed bug in cmdline-based slideshow (i.e. running 1159 zgv with more than one filename). Previously it had a junk file at 1160 the end of the slideshow, though this didn't seem to cause 1161 problems in practice. 1162 1163 * The file selector can now run in higher-res modes (800x600, 1164 1024x768, and 1280x1024). You can change modes with F1/F2/F3/F4, 1165 or use the config file var `fs_startmode' to set the initial mode. 1166 The higher-res selector was Matan Ziv-Av's idea, though I found 1167 his approach slightly confusing so I ended up writing my own code 1168 to do it. :-) 1169 1170 * Makefile: removed `-src' from src distribution filename. 1171 1172 * Moved fonts to a separate `fonts' dir. 1173 11741999-03-14 Russell Marks <rus@lifeson> 1175 1176 * src/vgadisp.c: also added separate video-mode help (on `/'), 1177 another of MZ's ideas. 1178 1179 * src/vgadisp.c: added Matan Ziv-Av's code to only change mode if 1180 needed (slightly hacked), and to do brightness/contrast in 1181 high-colour modes (but only if brightness/contrast have been 1182 changed). I have to say, I was surprised by how quick this is! :-) 1183 (I also made brightness/contrast work in 640x480x4 mode while I 1184 was at it.) 1185 1186 * src/zgv.c: added file rename (on Alt-r, I think I might be 1187 running out of keys :-)). Thanks to Matan Ziv-Av for the code this 1188 was based on. 1189 1190 * Rearranged directory structure and Makefiles so that the zgv 1191 (source) distribution is the same as the way I've always worked on 1192 zgv, rather than the slightly stupid layout it had before. The 1193 main upshot of this is that you now edit `config.mk' rather than 1194 Makefile to set things up. 1195 11961999-03-10 Russell Marks <rus@lifeson> 1197 1198 * zgv/vgadisp.c: added picture-orientation stuff. Alt-n reverts to 1199 normal (undoing any mirrors/flips/rotations), Alt-o restores the 1200 orientation which was used for the previous picture, and Alt-s 1201 saves the current orientation to be used for all pictures until 1202 you press Esc. Also, config file option `revert_orient' can be 1203 disabled to always preserve orientation between pictures. Thanks 1204 to Ben Schluricke for the basic idea behind this (I extended and 1205 generalised it a bit). 1206 1207 * zgv/zgv.c: added sort by `extension', size, and time/date 1208 (mtime), with order selected by Alt-e/s/t (Alt-d also chooses 1209 time/date), and made `:' show a two-line display with filename, 1210 file size, and last-modified date/time. Thanks to Jan Willamowius 1211 (and Matan Ziv-Av) for suggesting the sort-order stuff. 1212 1213 * zgv/readnbkey.c: now turns Esc-A..Z and Esc-a..z into Meta-a..z 1214 (128+'a' to 128+'z'), meaning I can now use Alt-letter 1215 combinations without having to worry about how Linux is set up. 1216 1217 * zgv/rcfile.c (usage): made the usage for `-a' say "see info file 1218 or man page for details" rather than only mentioning the man page. 1219 12201999-03-02 Russell Marks <rus@lifeson> 1221 1222 * zgv/zgv.c: fixed display bug where you sometimes could have had 1223 weirdness after a file delete or move, or after rescanning a 1224 directory where there were fewer files. 1225 12261999-03-01 Russell Marks <rus@lifeson> 1227 1228 * Removed NGM support. NGM was a specialised greyscale format I 1229 used to use on the NC100; it would only have been me who ever used 1230 NGM files, and I now use mrf files instead. 1231 1232 * zgv/readgif.c: previously segfaulted on (some, possibly all) 1233 pictures with both global and local colour maps. (The prime 1234 suspect for generating these (valid but weeiirrd) oddities seems 1235 to be Alchemy Mindworks' GIF Construction Set.) Also simplified 1236 the code a little and made it a bit more robust (translation: a 1237 lot less flaky :-)). 1238 12391999-02-05 Russell Marks <rus@lifeson> 1240 1241 * Version 3.1. 1242 1243 * zgv/zgv.c: made mouse `scale' configurable, so if the mouse goes 1244 too slow/fast for your tastes, you can play with that to fix it. 1245 12461999-01-03 Russell Marks <rus@lifeson> 1247 1248 * zgv/zgv.c: previously a permission-denied message on a picture 1249 moved to with enter etc. *from the viewer* didn't update the 1250 screen, resulting in a corrupted file selector screen. Fixed that. 1251 12521998-12-16 Russell Marks <rus@lifeson> 1253 1254 * New `gnulitically_correct' config file option. If enabled, makes 1255 zgv display those annoying messages which RMS seems to like so 1256 much. ;-) 1257 12581998-12-08 Russell Marks <rus@lifeson> 1259 1260 * zgv/vgadisp.c: added slideshow pause/resume (on ^S/^Q). 1261 1262 * Made help-showing code nicer. 1263 12641998-11-29 Russell Marks <rus@lifeson> 1265 1266 * doc/zgv.texi: added entries for concept index. 1267 12681998-11-22 Russell Marks <rus@lifeson> 1269 1270 * zgv/readpcx.c: added 24-bit support. 1271 12721998-11-21 Russell Marks <rus@lifeson> 1273 1274 * zgv/Makefile: various changes to handle installing of info files 1275 and the like. 1276 1277 * Added install-info.c, from texinfo (slightly hacked). Bundling 1278 it with zgv seems the only reasonable way to get /usr/info/dir 1279 updated without requiring people to have texinfo installed. 1280 1281 * New texinfo documentation zgv.texi - effectively replaces the 1282 man page. 1283 12841998-11-20 Russell Marks <rus@lifeson> 1285 1286 * zgv/vgadisp.c: now gives more specific error if tifftopnm isn't 1287 found. 1288 1289 * doc/zgv.1: in 640x480x4 mode, the viewer dithers 16 1290 greyscales to give the appearance of *61*, not 64. (It dithers 1291 *between* the real greyscales of course, so there are slightly 1292 fewer than you (or I, apparently :-)) might intuitively 1293 expect.) 1294 1295 * zgv/zgv.c: fixed problem with files with funny names possibly 1296 coming before dirs in the file list. It previously relied on the 1297 opening bracket of dirs to sort them first in the list, which 1298 wasn't the best coding ever. :-) (Hey, I wrote that bit five years 1299 ago, cut me some slack, eh...) 1300 1301 * Added #include <errno.h> to zgv.c and copymove.c. Presumably it 1302 being included by other header files is why I didn't previously 1303 get any errors. 1304 13051998-11-19 Russell Marks <rus@lifeson> 1306 1307 * zgv/vgadisp.c: fixed bug in right-button menu in 360x480 mode. I 1308 was basing some maths on scrnsize (720) rather than the *actual* 1309 screen width (360), which resulted in the first line being left 1310 unrestored when the menu disappeared. 1311 13121998-11-18 Russell Marks <rus@lifeson> 1313 1314 * doc/zgv.1: ratios mentioned in bits discussing scaling were the 1315 wrong way round! 1316 13171998-11-14 Russell Marks <rus@lifeson> 1318 1319 * zgv/zgv.c: when started on (or jumped to) unreadable dir, 1320 previously would have segfaulted if $HOME wasn't set. Now coughs 1321 and dies, as it does in the same situation when the home dir 1322 itself isn't readable. Also added Emacs-style ^B/^F/^N/^P to file 1323 selector; there were already several Emacs-like keys, and there 1324 was no reason to leave those out. 1325 13261998-11-09 Russell Marks <rus@lifeson> 1327 1328 * Fixed various slight errors and inconsistencies in indentation 1329 (main change is that struct defs are no longer K&R-style; that 1330 never made much sense given my indent style). 1331 13321998-11-04 Russell Marks <rus@lifeson> 1333 1334 * zgv/zgv.c: file selector now dynamically allocates memory for 1335 directory, so it should now work with any size dir (previous limit 1336 was 4096 files) and shouldn't take up memory it doesn't need. This 1337 generally makes the zgv process several hundred K smaller. 1338 1339 * zgv/zgv.c: added `go to file starting with next char' function 1340 to file selector, on `g' and `'' (quote). It acts sensibly if no 1341 file starts with that char, too - pretty much like the way speccy 1342 basic's GOTO works, which will probably mean nothing to most 1343 people reading this. :-) (Don't worry, the man page explains the 1344 specifics.) 1345 13461998-11-02 Russell Marks <rus@lifeson> 1347 1348 * zgv/readpnm.c (ditch_line): could previously have dropped into 1349 an infinite loop if a file was cut short in the middle of a 1350 comment line. For raw PNM files this would have required over a K 1351 of comments at the start (!), but for non-raw PNM files it could 1352 have been possible in less pathological circumstances. 1353 1354 * Added simple-minded (but working) support for TIFF files. A hint 1355 as to how it works - you need to have netpbm's `tifftopnm' on the 1356 path for the TIFF support to work. :-) I did it this way as it was 1357 dead easy and I don't like TIFF very much. But there are TIFF 1358 files out there, so *some* sort of support seemed a good idea. 1359 13601998-10-29 Russell Marks <rus@lifeson> 1361 1362 * Made `thicktext' mode nicer if using bitmap fonts by using a 1363 proper bold font. (No change for line-based font though.) 1364 1365 * zgv/bdf2h.c: made it produce slightly nicer output, by 1366 essentially sticking it all in a struct. 1367 1368 * Disabled scrollbar by default unless mouse is being used. Even 1369 after trying to get used to it, I just found the scrollbar too 1370 distracting when not using a mouse. Also added `s' to toggle 1371 scrollbar, so it's now possible to enable it temporarily (to see 1372 where you are in a dir) without having to put up with it the whole 1373 time. :-) 1374 13751998-10-25 Russell Marks <rus@lifeson> 1376 1377 * zgv/rcfile.c: no longer tries /etc/system.zgvrc as a last resort. 1378 1379 * Changed -M option to a mouse-support toggle and `mouse' cfg file 1380 option to be boolean - zgv always uses svgalib's mouse config now. 1381 13821998-10-21 Russell Marks <rus@lifeson> 1383 1384 * zgv/3deffects.c: drawing of blank area for dialogs is much 1385 faster in 16-colour mode now. 1386 1387 * Got rid of many dialog-box-related complete screen redraws in 1388 file selector. 1389 1390 * Renamed `gamma' command/cfg-file-option `fakecols', which is a 1391 much more sensible name for it. :-) 1392 1393 * zgv/rcfile.c: made bitmap fonts default even for cards without a 1394 640x480x8 mode. 1395 1396 * Changed all of read*.c to clear palette before filling it in 1397 (since it's possibly only partially filled-in) to make colour 1398 lookup with vkludge and the like more sensible. 1399 1400 * More mouse support additions, including a menu (of sorts) when 1401 you click the right mouse button, in both file selector and 1402 viewer. This means you can now do most things using just the 1403 mouse. Ironically, the menu works by... emulating keypresses. Plus 1404 �a change, eh? :-) Also, can drag screen around image (so to 1405 speak) in viewer by moving the mouse when left mouse button is 1406 pressed. 1407 14081998-10-20 Russell Marks <rus@lifeson> 1409 1410 * Lots and lots of changes to make mouse support better, including 1411 using svgalib's mouse support, and adding code to do a mouse 1412 pointer and scrollbar. So zgv now works more like it knows what a 1413 mouse is, rather than more-or-less just emulating keypresses. :-) 1414 Still much to do though... 1415 14161998-10-19 Russell Marks <rus@lifeson> 1417 1418 * zgv/readnbkey.c: key-reading was a bit dodgy before; it could 1419 lose keys in some situations, e.g. if you typed quickly into the 1420 destination-directory thing on a relatively slow machine. 1421 14221998-09-12 Russell Marks <rus@lifeson> 1423 1424 * zgv/readxpm.c: added support for XPMs with more than 256 1425 colours. The previous code was sufficiently paranoid that this was 1426 actually pretty easy. :-) 1427 14281998-09-10 Russell Marks <rus@lifeson> 1429 1430 * doc/zgv.1: removed mention of `malloc() doesn't return memory to 1431 system after free(), it just reuses it' concern in implementation 1432 section. I've noticed that the current libc does indeed appear to 1433 return memory to the system after a free(). 1434 14351998-09-08 Russell Marks <rus@lifeson> 1436 1437 * zgv/zgv.c: added support for moving files as well as copying 1438 them. It doesn't deal with any existing xvpic (which should 1439 ideally either be moved or deleted, I s'pose). Hmm. It looks 1440 like Emacs 20 has a new changelog entry date format. :-) 1441 1442Thu Aug 27 00:58:46 1998 Russell Marks <rus@lifeson> 1443 1444 * zgv/zgv.c: you can use `G' to go to a directory now (you're 1445 prompted for the name). 1446 1447 * Slideshow picture order can now be randomised (shuffled) - 1448 enabled with `-R', and set on/off by the `shuffleslideshow' config 1449 option or R in the file selector. 1450 1451 * zgv/zgv.c: added file copy to the file selector. Still no file 1452 move yet, but it's better than nothing right? :-) 1453 1454 * zgv/copymove.c: created. 1455 1456Wed Aug 26 12:50:02 1998 Russell Marks <rus@lifeson> 1457 1458 * zgv/zgv.c: you can now use Esc to abort when a single file 1459 specified on the command-line is loading. 1460 1461 * zgv/rcfile.c: added support for GNU-ish `--help' and `--version' 1462 options. 1463 1464 * zgv/vgadisp.c: moved 16-colour-mode colour/greyscale toggle from 1465 `C' to `c', but still allow `C'. There's now no picture-centring 1466 toggle (formerly on `c'), since I imagine few people use it, but 1467 the `centre'/`center' config file option is still ok. 1468 1469 * zgv/rcfile.c (usage): fixed bug in description of `-g' 1470 (betterpgm defaults to *off*, not on!). 1471 1472 * Changed from having version number text as part of zgvlogo.mrf 1473 to drawing it in zgv.c's drawzgvlogo(). 1474 1475 * zgv/zgv.c: added faster method of updating thumbnails in cases 1476 where there are only a few new or changed files in a large 1477 directory - it only redraws when something needs to be changed. 1478 This is massively faster for me, at least. :-) The old 1479 show-cursor-moving-through-the-dir behaviour is available with the 1480 `slowupdate' config file option. 1481 1482 * zgv/vgadisp.c: in those cases where it only wants to clear the 1483 screen, that's now all it does (rather than changing mode, setting 1484 palette etc. too). 1485 1486 * Made those few read*.c files which didn't already do so include 1487 their own header files. 1488 1489 * zgv/rcfile.c: added -S option to set slideshow timeout (like 1490 `tagtimeout' in config file). Also changed a few remaining error 1491 messages etc. with quotes used in the 'foo' manner to `foo'. 1492 1493Tue Jul 28 16:11:44 1998 Russell Marks <rus@lifeson> 1494 1495 * zgv/readxpm.c: made the common cpp=1 and cpp=2 cases over twice 1496 as fast by borrowing xpmtoppm's idea of using a direct lookup 1497 table rather than a memcmp-based binary search. It now works at a 1498 similar speed to xpmtoppm (it's still a *bit* slower, though I 1499 can't figure out why). Hmm... if only I'd thought of using 1500 xpmtoppm's code instead of writing my own. :-/ 1501 1502 * zgv/readxpm.c: corrected accidental use of strcmp directly on 1503 elements of colchars array (which happened to work, but was deeply 1504 evil). 1505 1506Mon Jul 27 14:07:52 1998 Russell Marks <rus@lifeson> 1507 1508 * JPEG and PNG errors were reported rather strangely; made 1509 them fit in with the way other errors are reported now. 1510 1511Sun Jul 26 18:54:21 1998 Russell Marks <rus@lifeson> 1512 1513 * Added `-w' option, which writes a PPM to stdout instead of 1514 viewing a file, acting as a sort of poor-man's-converter. 1515 1516 * zgv/munglogo.c: Made it convert the logo from an mrf rather than 1517 a GIF. 1518 1519 * Renamed gifeng.* to readgif.*. 1520 1521 * Added XPM support. 1522 1523 * Several of the read*.c files could abort without closing the 1524 input file; fixed that for all cases I could find. 1525 1526Sat Jul 25 20:02:13 1998 Russell Marks <rus@lifeson> 1527 1528 * Added XBM support. 1529 1530Sat May 30 02:31:59 1998 Russell Marks <rus@lifeson> 1531 1532 * zgv/vgadisp.c: fixed bug in 24-bit image rotate code. Previously 1533 the last line ended up being (in three out of four cases) an 1534 `earlier' line. 1535 1536Mon Apr 6 23:19:13 1998 Russell Marks <rus@lifeson> 1537 1538 * doc/zgv.1: removed reference to `0' key, as virtual mode has 1539 been removed. 1540 1541Fri Mar 13 12:15:21 1998 Russell Marks <rus@lifeson> 1542 1543 * Version 3.0. 1544 1545 * zgv/readpng.c: files with alpha channels should now work. (I 1546 thought they did anyway, but it seems they didn't...!?) For now at 1547 least, the alpha is always applied over a black background. This 1548 may not be ideal in all cases but at least it's consistent. :-) 1549 1550Tue Mar 10 11:14:54 1998 Russell Marks <rus@lifeson> 1551 1552 * zgv/rcfile.c: changed to use a lookup table. 1553 1554 * zgv/zgv.c: previously, if you started with `visual off', the 1555 mid-grey colour was set to the tagged-file colour (i.e. red). 1556 Fixed that. 1557 1558Mon Mar 9 11:54:36 1998 Russell Marks <rus@lifeson> 1559 1560 * zgv/zgv.c: fixed starting-on-unreadable-dir problem. It turns 1561 out that the root problem of which this was really a special case 1562 (what do you do when you can't read the current directory?) is 1563 `interesting' to fix in the general case. (After all, quitting 1564 isn't always a good approach - it's not necessarily ideal to quit 1565 on doing ^R in a dir which had been deleted since it was first 1566 read...) The current approach, which seems reasonable to me at 1567 least, is to try going to $HOME, then quitting if not even *that* 1568 can be read. 1569 1570 * Added 4-bit support to the viewer, specifically 640x480 1571 16-colour mode. (Yes, Andrew Haylett gets his wish - albeit three 1572 years late. :-)) It's effectively an emulation of an 8-bit mode. 1573 Defaults to dithered greyscale, but can optionally be dithered 1574 colour. 1575 1576 * zgv/vgadisp.c: removed control of virtual mode - it's now always 1577 enabled in 320x400/360x480, and can never be enabled in other 1578 modes. This prevents possible segfaults, and makes the code a bit 1579 less confusing. :-) 1580 1581 * zgv/vgadisp.c: zoom mode (for images smaller than the screen) 1582 works more sensibly now, and is roughly twice as fast. It also 1583 fixes an occasional segfault bug with 320x200 modes, and saves 1584 having to do (those of a nervous disposition should look away 1585 now...) a screen-sized malloc. 1586 1587Sun Mar 8 13:36:33 1998 Russell Marks <rus@lifeson> 1588 1589 * zgv/zgv.c: sped up update_xvpics() a little. 1590 1591Fri Mar 6 16:47:06 1998 Russell Marks <rus@lifeson> 1592 1593 * Fixed a couple of minor problems with the help pages. 1594 1595 * zgv/vgadisp.c: added support for 1152x864 and 1600x1200 modes. 1596 You get at them by prefixing the function key (F1-F8) with tab. 1597 1598 * zgv/readnbkey.c: sped it up (though I doubt it'll be noticeable) 1599 by not using huge list of strcmp's (yuck). 1600 1601Thu Mar 5 04:31:39 1998 Russell Marks <rus@lifeson> 1602 1603 * Renamed `CHANGES' to `NEWS'. 1604 1605 * zgv/3deffects.c: stopped msgbox() displaying text too wide 1606 for the screen. 1607 1608 * zgv/zgv.c: if you do `:' in the file selector it now reports 1609 the full filename. Also, made "Directory of..." smaller for 1610 bitmap fonts, it's too distracting otherwise. 1611 1612 * New `smallfiletext' option which reduces the size of the 1613 filename text in the file selector. You may find this useful if 1614 you think the text is too big :-) or if you'd like to see more of 1615 the filename. 1616 1617 * Added bitmap fonts (from X, though you don't need X installed). 1618 You can still get the old line-based font if you want, though, via 1619 the config file setting `linetext'. 1620 1621Wed Mar 4 17:38:21 1998 Russell Marks <rus@lifeson> 1622 1623 * zgv/helppage.c: use 256-colour mode (which is faster) if we're 1624 using it for the file selector. 1625 1626 * Fixed this problem: (from old man page) "If errors occur when 1627 zgv is loading a new file while the old file is still being 1628 displayed, the error message appears over the top of the old 1629 image". It now changes modes if necessary. 1630 1631Wed Mar 4 00:09:46 1998 Russell Marks <rus@lifeson> 1632 1633 * zgv/zgv.c: sped directory reading up a little for directories 1634 without any associated thumbnails. 1635 1636Tue Mar 3 14:29:09 1998 Russell Marks <rus@lifeson> 1637 1638 * Updated PNG support for libpng v0.96. 1639 1640 * Used stdlib.h instead of malloc.h in various places (blimey, was 1641 that ever dated :-)). 1642 1643 * zgv/readjpeg.c: removed pointless METHODDEF from a couple of 1644 functions. This also avoids problems with the jpeg lib version 6a, 1645 where `METHODDEF void' would have needed to become 1646 `METHODDEF(void)'. 1647 1648Mon Mar 2 15:33:34 1998 Russell Marks <rus@lifeson> 1649 1650 * It now remembers where you were in a directory if you return 1651 to it. So if you go into a subdir then return to the parent dir, 1652 the cursor will be on that subdir. Also added cfg file option 1653 `forgetoldpos' to use old behaviour. 1654 1655Tue Sep 16 17:14:27 1997 Russell Marks <rus@lifeson> 1656 1657 * doc/zgv.1: some spelling errors fixed, but there are things 1658 spellcheckers can miss - sew eye might have mist sum. :-) 1659 1660Wed May 28 04:46:57 1997 Russell Marks <rus@lifeson> 1661 1662 * Added `mrf' support. Mrf is a 1-bit-mono-only file format I 1663 thought up while thinking about how you could compress such images 1664 more effectively. For some kinds of input, it compresses better 1665 than GIF or PNG. (I've also written PD converters to/from PBM.) 1666 1667Mon Mar 10 21:25:04 1997 Russell Marks <rus@lifeson> 1668 1669 * Added thumbnails for subdirs. These are made up of the first 1670 four files in the dir squeezed together into a single thumbnail. 1671 They're updated separately from picture files, as they're slower 1672 to create and don't work in an `update' fashion for complicated 1673 reasons. Create them with `d'. 1674 1675Wed Feb 26 15:43:34 1997 Russell Marks <rus@lifeson> 1676 1677 * Version 2.8. 1678 1679 * Added Costa Sapuntzakis' patch for much faster generation of 1680 jpeg thumbnails, and tweaked it a bit so you get control over what 1681 speed/quality tradeoff to use. The original patch was about the 1682 same as a config file setting of `jpegindexstyle 1'. I decided 1683 (after much thought!) to wimp out and use a slower but more 1684 accurate one than that - the default setting is 2. This is still 1685 hugely faster than the old style (available as #3). 1686 1687Sun Jan 12 00:21:42 1997 Russell Marks <rus@lifeson> 1688 1689 * doc/zgv.1: documented `-a' command, which I'd somehow omitted up 1690 til now... 1691 1692 * zgv/zgv.c: added changes from third-party patch to v2.7 (by Adam 1693 Radulovic). I removed the unnecessary `assert' statement. Also, 1694 the "(!strcasecmp(anentry->d_name+l-4,".jpg+"))" added clearly 1695 can't work, so I removed it. Finally, I used char instead of short 1696 for xvw/xwh, as they're small enough (only <=80 needed). 1697 1698Sun Nov 17 18:28:05 1996 Russell Marks <rus@lifeson> 1699 1700 * zgv/vgadisp.c: added lookup table to translate number/function 1701 keys (which choose video mode) to G320x200x256-like labels rather 1702 than assuming certain mode numbers. Hopefully this should avoid 1703 any problems if the mode numbers are changed again. 1704 1705Sat Nov 9 22:16:43 1996 Russell Marks <rus@lifeson> 1706 1707 * zgv/zgv.c: hacked to make VT switching under X, Emacs etc. work 1708 under the 2.0.x kernel. It wanted a fork, and refused to honour a 1709 VT_WAITACTIVE in svgalib's vga_setmode until I added one. setsid? 1710 Already had that. chown? Tried it, no difference. So now it's a 1711 bit icky, but at least it works (see man page for problems with 1712 it). You don't want to know how hard it was to find this bug. I 1713 mean, I only had to trace through svgalib into the f**king 1714 kernel... :-( 1715 1716Fri Sep 27 16:25:21 1996 Russell Marks <rus@lifeson> 1717 1718 * zgv/readpng.c: updated to work with libpng 0.81. It even works 1719 with `hell.png' now (this took considerable hacking). 1720 1721Mon Aug 19 00:01:42 1996 Russell Marks <rus@lifeson> 1722 1723 * zgv/zgv.c: stopped it undrawing/redrawing the "Directory of ..." 1724 message unnecessarily in certain circumstances, such as scrolling 1725 up/down the file list. 1726 1727Sun Aug 18 16:36:20 1996 Russell Marks <rus@lifeson> 1728 1729 * zgv/vgadisp.c: made viewing in 15/16-bit modes a little bit 1730 faster. It's about the same speed as for equivalent 24-bit 1731 modes, which is a bit iffy, but as good as I can manage. :-/ 1732 1733 * zgv/zgv.c: added support for a proper full-screen file selector, 1734 i.e. without the logo. Toggle with 'f' or 'z', or use 'fullsel' in 1735 config file. 1736 1737 * doc/zgv.1: converted 'foo' to `foo' for all occurrences. 1738 1739 * zgv/vgadisp.c: fixed the zoom -> scale-up problem and related 1740 things. Added 'g' command to toggle gamma. 1741 1742 * doc/zgv.1: fixed various bugs. 'c' and 'n' weren't even listed - 1743 whoops! Also expanded the BUGS section. 1744 1745Thu Jun 13 14:03:08 1996 Russell Marks <rus@lifeson> 1746 1747 * Added '-T' option, to echo tagged files on exit. 1748 1749Sun Nov 5 20:33:36 1995 Russell Marks <rus@lifeson> 1750 1751 * ANSIfied code. Now gets through '-Wall'. This caught a couple of 1752 potential schroedinbugs. 1753 1754Sun Sep 17 23:03:09 1995 Russell Marks <rus@lifeson> 1755 1756 * zgv/zgv.c: shows xvpics as their own thumbnails, and stops you 1757 from updating thumbnails in a '.xvpics' dir. This means you can 1758 (for example) view thumbnails on the file select scrn without 1759 even having the files they refer to. 1760 1761 * New option 'showxvpicdir', if on shows any '.xvpics' dir on 1762 file selection scrn, else doesn't, as before. Defaults to off. 1763 (Not documented yet.) 1764 1765 * Now lets you load thumbnail files as images. Fairly pointless, 1766 but someone asked for it way back when. 1767 1768 * Added support for NGM files. If you don't know what they are, 1769 you don't want to know. :-) 1770 1771Tue Sep 5 13:13:15 1995 Russell Marks <rus@lifeson> 1772 1773 * zgv/readpcx.c: now reads 4-bit (16 colour) PCX files. 1774 1775 * zgv/zgv.c: fixed it so updating from read-only media and DOS 1776 partitions doesn't take so long. (Zgv should only update what it 1777 has to, now.) 1778 1779 * zgv/readpcx.c: now reads mono PCX files. There's a lot of them 1780 on the CD too. :-) 1781 1782 * zgv/readpcx.c: added preliminary PCX support. (I just got a CD 1783 with some PCX clip-art on it.) Only 8-bit supported for now. Added 1784 in just under half an hour, how's that for response time? :-) 1785 1786Thu Jul 13 00:39:42 1995 Russell Marks <rus@lifeson> 1787 1788 * doc/zgv.1: removed spurious 'Enter'. 1789 1790Mon Jun 26 18:00:54 1995 Russell Marks <rus@lifeson> 1791 1792 * 2.7 release version. 1793 1794 * Greyscale PNGs work now. 1795 1796Fri Jun 23 19:18:46 1995 Russell Marks <rus@lifeson> 1797 1798 * The -i option now also applies to gifs. 1799 1800 * Slightly better detection of corrupt gifs. 1801 1802 * Fixed a small memory leak in gif reader when body of gif was 1803 corrupted (it didn't free the palette). 1804 1805 * New -i option, 'ignores' errors in PNG files, i.e. displays what 1806 it managed to get. Should be useful when used with -r option on 1807 files being downloaded, esp. interlaced ones. 1808 1809Thu Jun 22 16:48:59 1995 Russell Marks <rus@lifeson> 1810 1811 * PNG support nearly there. It does everything now, but screws up 1812 on images with alpha channels for some reason. Handles all sample 1813 images I've tried except 'hell.png', the bells-and-whistles one. 1814 1815 * Fixed memory leak; if dithering 24-bit image and image read was 1816 aborted, previously left about 13*width bytes allocated. 1817 1818Wed Jun 21 22:13:21 1995 Russell Marks <rus@lifeson> 1819 1820 * Got interlaced images working. It needs a bugfix to the PNG lib 1821 though, so I'm putting PNG support on hold for now. 1822 1823 * Start of PNG support. Seems to work for non-interlaced images. 1824 1825Thu Jun 8 00:07:34 1995 Russell Marks <rus@lifeson> 1826 1827 * Equivalent of -M option in rc file, as 'mouse TYPE'. 1828 1829 * Added correct error message for -M without a mouse type arg. 1830 1831 * Carsten's latest BMP stuff. 1832 1833Fri Jun 2 00:05:36 1995 Russell Marks <rus@lifeson> 1834 1835 * Added some of gcc's warning checks to Makefile, and fixed code 1836 appropriately. No bugs though. Wow. :-) 1837 1838Fri May 19 21:04:48 1995 Russell Marks <rus@lifeson> 1839 1840 * Added xvpic creation/use for read-only devices/dirs etc. If 1841 ./.xvpics/foo.gif can't be used for foo.gif in /usr/local/wibble, 1842 something like ~/.xvpics/_usr_local_wibble/foo.gif is used (if 1843 possible). I've been told that xv does something similar, but I 1844 couldn't see any reference to anything other than ./.xvpics in the 1845 documentation so I made this one up myself. :-) 1846 1847Mon Apr 24 07:22:10 1995 Russell Marks <rus@lifeson> 1848 1849 * RLE TGA files supported too (types 9 and 10). 1850 1851 * Uncompressed TGA file types 1 and 2 supported. 1852 1853Fri Apr 14 17:19:25 1995 Russell Marks <rus@lifeson> 1854 1855 * Thumbnail update bug fixed. 1856 1857Wed Apr 12 19:48:40 1995 Russell Marks <rus@lifeson> 1858 1859 * Problem with -p fixed. I hope. :-) 1860 1861 * Can now update thumbnails in background. It may be a while 1862 before you get any feedback if you switch back in the middle of 1863 resampling, say, but other than that it works fine. 1864 1865Wed Mar 1 00:01:02 1995 Russell Marks <rus@lifeson> 1866 1867 * Added support for GIFs with local colour maps. Finally. :-) 1868 1869Fri Feb 10 20:14:38 1995 Russell Marks <rus@lifeson> 1870 1871 * File selector bug fixed. If you pressed enter to view a file, 1872 then used ^N or Enter to go through more than a screen's-worth of 1873 files, then exited or reached the end of the list of picture 1874 files, it used to try and undraw the file you started with, which 1875 meant the screen got corrupted. And yes, I know that explanation 1876 was impossible to follow. :-) 1877 1878Thu Jan 26 22:35:16 1995 Russell Marks <rus@lifeson> 1879 1880 * 2.5 release version. 1881 1882 * Added BMP support from Carsten Engelmann 1883 (cengelm@yacc.central.de). RLE BMPs aren't supported yet. 1884 1885Sun Jan 22 04:36:24 1995 Russell Marks <rus@lifeson> 1886 1887 * Fixed bug related to '-p' option (fixed this a few days back, as 1888 it happens). 1889 1890 * Fixed (I hope) a bug where you could end up with a 1891 strange-looking screen after VC switching back to zgv right as 1892 it's switching video modes. 1893 1894 * Can now load in background. That is, when you switch to another 1895 VC while zgv is loading, it'll keep loading rather than suspending 1896 until you switch back. 1897 1898Wed Jan 18 00:00:34 1995 Russell Marks <rus@lifeson> 1899 1900 * Added patch by Edwin Fong (hffong@cs.cuhk.hk). New features are 1901 a few smart additions to tagging and moving from viewing a picture 1902 to the next without seeing the file selector, and mouse support. 1903 1904Tue Jan 17 23:59:59 1995 Russell Marks <rus@lifeson> 1905 1906 * Fixed a bug (?) that caused (old versions of?) bash to log you 1907 out after exiting zgv. 1908 1909Sun Jan 15 06:10:13 1995 Russell Marks <rus@lifeson> 1910 1911 * Added colour support in 16-col visual selector. It's bearable, 1912 but I think I'll leave greyscale as the default. 1913 1914Thu Jan 12 21:23:57 1995 Russell Marks <rus@lifeson> 1915 1916 * Fixed weird automatic mode changing from 320x400 and 360x480 1917 bug. It must have taken me nearly a year to notice that...! Zgv 1918 was previously thinking that 360x480 as a current mode would only 1919 hold 172800 pixels, while as a potential nearest-fit mode it 1920 thought it could hold 720x480=345600. As such, it would choose 1921 320x400 next time a picture was displayed if 360x480 was chosen 1922 before, and 320x240 next time. 1923 1924 * Fixed 'strange colours' bug with PBM files and vkludge. The 1925 number of colours was previously being reported as 256 colours - 1926 this only made a difference when the vkludge option was being 1927 used. 1928 1929Thu Dec 22 12:03:07 1994 Russell Marks <rus@lifeson> 1930 1931 * File selector can now work in 640x480x16 mode (greyscale only) 1932 on normal VGA cards, i.e. those where a 640x480x256 mode can't be 1933 used. (Putting 'force16fs on' in ~/.zgvrc will force this 1934 behaviour in all cases.) Thanks to Andrew Haylett for suggesting 1935 this. No thanks at all to him for suggesting I support 16-colour 1936 modes in the viewer. :-) 1937 1938Mon Dec 5 00:09:03 1994 Russell Marks <rus@lifeson> 1939 1940 * 2.4 release version. 1941 1942 * zgv/zgv.c: stopped errors being reported when a corrupt file is 1943 read during thumbnail index updating. Thanks to David Meyer for 1944 pointing this out. 1945 1946 * Ctrl-P and Ctrl-N now move backward one file and forward one 1947 file respectively. These keys work while viewing a file. The idea 1948 is, you can skip back and forth between files easily without 1949 needing to quit to the file selector. Thanks to Mark A. Pitcher 1950 for suggesting this. 1951 1952 * Documented tagging, just about. 1953 1954 * zgv/zgv.c: added '.jpeg' to listed filetypes. Thanks to Alan 1955 Shutko for pointing this out as a common alternative to '.jpg'. 1956 1957Fri Dec 2 23:56:16 1994 Russell Marks <rus@lifeson> 1958 1959 * Removed tnpic from zgv distribution. 1960 1961 * zgv/usejpeg.c: Blitzed through to update to libjpeg 1962 v5. Amazingly, it all seems to work. Duh? :-) 1963 1964Wed Oct 26 00:39:26 1994 Russell Marks (rus@lifeson) 1965 1966 * Viewing tagged files done. Not documented yet, obviously... 1967 1968 * Tagging added (mostly). Now I just need to make it actually *do* 1969 something. :-) 1970 1971Tue Aug 23 03:54:26 1994 Russell Marks (rus@lifeson) 1972 1973 * Finished off repeat_timer stuff. See the man page - it's the 1974 '-r' option. 1975 1976 * Fixed magic_ident() so it actually checks magic numbers rather 1977 than going by filename. 1978 1979Mon Aug 22 20:41:37 1994 Russell Marks (rus@lifeson) 1980 1981 * Fixed something in usejpeg.c which could have called fclose() 1982 with an undefined value on aborting the viewing of a JPEG file. In 1983 theory this means that the example.c in the IJG's JPEG software v4 1984 has a bit of a bug...? (v4a might be fixed, though.) Quoting the 1985 gcc info file: "If you use `longjmp', beware of automatic 1986 variables. ANSI C says that automatic variables that are not 1987 declared `volatile' have undefined values after a `longjmp'. And 1988 this is all GNU CC promises to do,..." 1989 1990Thu Aug 11 19:14:16 1994 Russell Marks (rus@lifeson) 1991 1992 * Fixed a small display bug when updating previously existing 1993 'xvpic' files. 1994 1995Wed Aug 3 01:57:35 1994 Russell Marks (rus@lifeson) 1996 1997 * Added a very simple kind of support for image cropping programs. 1998 What you should do goes like this. Run something like "pnmcut `zgv 1999 -s input.ppm` input.ppm > output.ppm", and get the section of the 2000 image you want to crop to on the screen somehow using scaling, 2001 mode changes, whatever; then exit. With the '-s' flag, zgv outputs 2002 four numbers per line for each file viewed, with the command 2003 "printf("%4d %4d %4d %4d\n",x,y,w,h);" - i.e. each number is four 2004 characters (more if any is greater than 9,999), so you can use 2005 'cut' to grab these numbers for any particular shell script wonder 2006 you have in mind. This is very much a tacked-on feature, but it 2007 was so easy to do, and so potentially useful that I decided to add 2008 it on anyhow - despite the conflict with functional purity. :) 2009 2010 * Fixed it so that 'zgv -h' always goes to the original stdout. 2011 Unfortunately, when running from a non-console zgv still VT 2012 switches back and forth (well, forth and back) first. This is 2013 non-trivial to fix properly, but I'll probably put in a kludge to 2014 searches for "-h" as an element of argv[] on startup. (The problem 2015 is all to do with throwing away root permissions at the right 2016 time during initialisation.) 2017 2018Tue Aug 2 06:13:23 1994 Russell Marks (rus@lifeson) 2019 2020 * Added 'gamma' mode, finally. This smooths out the 64 greyscales 2021 possible on a standard VGA (or SVGA in 8-bit video modes) so that 2022 it looks as though you can see more greyscales. Kind of. It's a 2023 very subtle effect. The 'gamma' name is irrelevant I suppose, but 2024 taken from the names of the Fractint palette files I first saw the 2025 technique used in. (The way zgv does it isn't exactly the same, 2026 but very similar.) 2027 2028 * Greyscale JPEGs now load as 8-bit, rather than the rather slow 2029 and wasteful 24-bit (although that did mean you got 256 greyscales 2030 in a real 24-bit mode, I don't really think that was worth it). 2031 2032Tue Jul 26 00:29:25 1994 Russell Marks (rus@lifeson) 2033 2034 * Added 'revert' option (on by default) to reset scaling and 2035 interpolation when a picture is loaded, as I didn't like it 2036 retaining any scaling etc. after quitting one image and loading 2037 another. 2038 2039 * Fixed stoopid bug in betterpgm mode. It didn't work before, and 2040 now it does. Wow. :) 2041 2042 * Scaling around the same centre should now work ok for all cases. 2043 2044Mon Jul 25 23:03:45 1994 Russell Marks (rus@lifeson) 2045 2046 * Made interpolated scaling about 15% faster. Still too slow. 2047 2048 * Interpolated scaling (actually done yesterday, forgot to log 2049 it). 2050 2051Thu Jul 21 01:30:38 1994 Russell Marks (rus@lifeson) 2052 2053 * Made mirror and flip much faster. Rotate is also rather quicker. 2054 Added a reverse (anti-clockwise) rotate, on 'R' (shift+r) which 2055 works by calling fx_rot(), then fx_mirror() and fx_flip(). This 2056 works out being not much slower than a reversed rotate would be, 2057 as the mirror and flip operations are pretty quick now. 2058 2059Wed Jul 20 14:46:48 1994 Russell Marks (rus@lifeson) 2060 2061 * Documented change to /etc/zgv.conf and double-up-scaling. 2062 2063 * Added double-up-style scaling up and down in addition to 2064 existing ++ and --. 2065 2066 * Changed /etc/system.zgvrc to /etc/zgv.conf. Still works with 2067 /etc/system.zgvrc if ~/.zgvrc and /etc/zgv.conf aren't present, 2068 though. 2069 2070 * Fixed up man page for easier editing and added 'scaling' 2071 section. 2072 2073 * Added scaling (zoom really, but I can't call it that because 2074 I've already called the 'fit to screen' function zoom). Works in 2075 multiples of pixels, and attempts to keep the screen centred. It 2076 isn't fast, by any means. However, it's not too bad in low-ish 2077 res. modes like 640x480x256. Keys are 's' to scale up (up to 512x 2078 in +1 increments - not 1x incr. as often used), 'S' to scale down, 2079 and 'n' to return to 'normal', which cancels any scaling and also 2080 returns from zoom (fit-to-screen) mode. Zoom and scale modes are 2081 mutually exclusive - after all, zooming a scaled image would be 2082 slow and pointless. 2083 2084 * Removed handlevt.[ch]. They haven't been used for *ages*. 2085 2086 * Started using Emacs' Change Log mode for entries in this file. 2087 Versions between releases should be considered specified by the 2088 date on the changelog entry (not that this is terribly important, 2089 or anything). 2090 2091Version 2.2e: 94/7/19 2092 2093Added 'force16fs' option to config file. Zgv normally starts up in 2094640x480x256 mode if svgalib reports that the card can handle it. You 2095can now put 'force16fs on' in a config file to force 640x480x16 mode. 2096This is slower, but you may want to do it if the 256-colour mode is 2097somehow garbled or unusable, which one user mentioned on 2098comp.os.linux.misc a while ago. Not in docs yet. 2099 2100 2101Version 2.2d: 94/7/18 2102 2103Auto VT switchback works now. Happy happy happy, joy joy joy. (ahem) 2104This means it's possible to run zgv from emacs, X, iScreen, etc. about 2105as comfortably as I can manage. If you don't want it to block, you can 2106bg it like 'zgv &' with no problems. Docs updated. 2107 2108 2109Version 2.2c: 94/7/17 2110 2111Tried auto VT switching if not running on a console and a spare VT is 2112available - didn't work. :( There are at least three more important 2113things I'm working up to, so I diked it out again. Maybe I'll have 2114another go sometime. That said, you could just use 'open', and this 2115can be automated with an alias and shell script. 2116 2117More usefully, if you do 'zgv directory_name', it'll now startup zgv 2118in the file selector with the current directory set as specified. 2119 2120Also (finally!) added home, end, pgup and pgdn to file selector. (^a, 2121^e, ^u and ^v do the same.) Page up and down are a little weird, but they 2122work ok and do roughly what you'd expect. 2123 2124 2125Version 2.2b: 94/7/16 2126 2127Might have fixed the Big Bug (tm). I found an old note I'd made about 2128a bug in an old version of svgalib, which led me to finding something 2129in zgv which could possibly have caused either a floating-point 2130exception or a NULL pointer dereference on machines with fewer modes 2131than mine (this is the important bit and explains why it didn't happen 2132on my machine), and is in about the same place as the bug apparently 2133is/was. This covers all the bases, so maybe it works now...? 2134 2135Put bits in for a timeout facility with single-file mode, more on this 2136when I finish it (for now there's just a flag '-t' which has no effect). 2137 2138 2139Version 2.2a: 94/5/4 2140 2141Added progress report while updating xvpics, progress report while loading 2142file given on cmdline and cmdline option/config file option to turn it off, 2143and changed zgv so the text screen is no longer cleared unless the 2144'cleartext' option is set. Fixed bug with creating .xvpics directory and 2145error reporting for cases where you have no permission to create the 2146directory, but it already exists. 2147 2148Fixed a bug in the delete routine. Nothing too nasty - if you had a file 2149which you weren't permitted to delete, but had an 'xvpic' index for it which 2150you *were* permitted to delete, the 'xvpic' would be deleted despite you 2151getting a message saying 'you can't delete that file'. In the alternate 2152case, i.e. the 'xvpic' is unremovable, I've left the code such that the 2153error is ignored and the real file is removed, as I think it's the Right 2154Thing to do. 2155 2156 2157Version 2.2: 94/5/3 2158 2159No changes other than the version number. This is the 2.2 release version. 2160 2161 2162Version 2.1g: 94/5/3 2163 2164Bug with vkludge for <256 colour pictures NAILED TO THE WALL, *FINALLY*! 2165(This one has been eluding me for about a year.) 2166 2167Fixed bug with 'junk on right-hand side' in (most? all?) standard VGA modes. 2168Thanks to Harm Hanemaayer for pointing me in the right direction on this 2169one. 2170 2171'perfectindex' documented and 'visual selector' section in man page 2172extended. 2173 2174 2175Version 2.1f: 94/5/2 2176 2177Icons added for dirs/unindexed files, and update updates only when needed 2178(judging from whether index file exists or not, otherwise from modification 2179times obtained via stat()). Man page and other docs updated. 2180 2181 2182Version 2.1e: 94/5/2 2183 2184Zgv now supports 'xv' format thumbnail files - i.e. it views them together 2185with filenames on the file selector, and creates them if asked to. The files 2186created by zgv are compatible with xv (wow, how did that happen? :) ). Now 2187if someone would just care to explain how that took me EIGHT HOURS to do... 2188feels like it too, I need some sleep. [4:17am, and all's well.] Answers on a 2189postcard please. 2190 2191Also fixed obscure bug in 'zoom' mode, another obscure bug in PPM dithering, 2192and updated delete to deal with deleting appropriate .xvpics file and 2193directory if reqd. 2194 2195Man page update for .xvpics stuff pending. 2196 2197 2198Version 2.1d: 94/5/1 2199 2200Added 'hicolmodes' entry in .zgvrc file. This is to force high-colour modes 2201if your card - for example - has a 640x480 high-colour mode, but no 320x200 2202high-colour mode. This is definitely a kludge, but it's very tricky/awkward 2203to fix properly. 2204 2205 2206Version 2.1c: 94/4/26 2207 2208Added file deletion to file selector. Still no move/copy yet. Updated man 2209page to show cmdline options. TeX file will get updated sometime else 2210(maybe). 2211 2212 2213Version 2.1b: 94/4/25 2214 2215Added a few command-line options for zoom, startup mode, etc. [docs not 2216updated yet.] 2217 2218Zgv now opens /dev/tty instead of /dev/tty0 (like svgalib, as of v1.07). 2219 2220Bugfixes: 2221 2222in v2.1, tnpic often segfaulted when loading JPEG files due to a change in 2223the JPEG reading routine which I forgot to allow for in tnpic.c (blush). 2224 2225Zgv segfaulted when trying to load a file which didn't exist - this has been 2226fixed. It wasn't the canonical dumb segfault bug, it was to do with files 2227not ending in {.gif,.jpg} being loaded as PNM files, and free() trying to 2228deallocate a random pointer (two, in fact) when that couldn't load the file. 2229Oops. 2230 2231fixed bug on file select screen to do with moving a file or two with the 2232cursor on an entry past the new number of files (if you see what I mean), 2233where it previously didn't redraw. 2234 2235fixed typo in aborted_file_cleanup() which caused nasty transient bugs. 2236 2237 2238Version 2.1a: 94/4/13 2239 2240Now allow uppercase .GIF, JPG, etc. Added /dev/tty0 fix to Makefiles and 2241comment in README. This is the 2.1 release version. 2242 2243 2244Version 2.1: 94/4/12 2245 2246Dithering for PPMs done, plus cfg.betterpgm added. 2247 2248 2249Version 2.0d: 94/4/11 2250 2251More documentation overhauling. Can't be bothered with any more. Dithering 2252for PPMs for 8-bit displays next... (sigh). 2253 2254 2255Version 2.0c: 94/4/10 2256 2257Done PNM support, block cursor, thicker text (kind of). Bugfix for 2258'directory of' line growing too long. Some doc. updates, still need to check 2259TeX file, READMEs and update man page. 2260 2261 2262Version 2.0b: 94/4/9 2263 2264Added centering of pictures. Thanks to Paul Stoat for that idea, and a few 2265others I'll be hacking away at. This version includes the two bugfixes 2266mentioned in my post to c.o.l.m a while back. 2267 2268 2269Version 2.0a: 28/2/94 2270 2271Dammit! I knew I'd missed something. Put in an option for tnpic so you can 2272alter the output JPEG's quality level. 2273 2274Noticed that Harm fixed the svgalib bug. Cool. 2275 2276 2277Version 2.0: 26/2/94 2278 2279Blitzed through everything I meant to change. Implemented the new idea for 22808/24-bit mode workings. Put in support for 'zgv filename' (only one file 2281though). Missed one thing - no PPM support yet. :( I'll get round to that 2282for 2.1, I guess. 2283 2284I translated the zgv winword doc. to TeX a while back, but forgot to 2285document it. Lots of changes to that, obviously. 2286 2287 2288Version 1.31b: 19/12/93 2289 2290Workaround for bug (?) in svgalib 0.97 that causes a non-clear screen on 2291changing between some modes (seems to be mode X VGA to SVGA on a Cirrus, at 2292least). Fix involves, uh, clearing the screen afterwards. :) 2293 2294 2295Version 1.31a: 24/11/93 2296 2297Zgv now has proper .rc file handling. Documented this in zgv manpage. Uses 2298$HOME/.zgvrc, or /etc/system.zgvrc if not found. Added PS version of the 2299manpage to documentation. Updates to the real PS documentation (i.e. the 2300winword doc) still pending for this version and the last. 2301 2302 2303Version 1.31: 19/11/93 2304 2305Fixed zgv so that filenames longer than it can fit into the column size it 2306uses on the file selection screen are truncated and have a "..." appended to 2307them. It errs on the side of caution a bit, so some filenames which could 2308have fit into the column will be truncated anyway, but it's a lot better 2309than before. 2310 2311 2312Version 1.3: 26/10/93 2313 2314Finally got over the flu, and corrected bits of the documentation. 2315Nailed this down as 1.3 since it'll never happen otherwise. 2316 2317 2318Version 1.27: 9/10/93 2319 2320Svgalib support, but not fully. Only 256-colour SVGA modes are really 2321supported. This'll have to do for a while, because getting 16 and 24-bit 2322colour modes supported is... non-trivial. (See 24bit.txt for a discussion of 2323why, and when you can expect support for them.) VGAlib patch for 320x480 2324mode removed. 2325 2326PostScript removed (it wasn't working, and was pretty broken to begin with). 2327 2328 2329Version 1.26h: 28/9/93 2330 2331^Z (SIGTSTP) support added. Actually, directly raising a SIGTSTP (e.g. kill 2332-SIGTSTP <pid>) shouldn't work, but it does anyway. Cool! (Probably VGAlib 2333or just good old Linux sorting this out for me.) I've also developed a 2334keyboard LED flash alarm program separately (I mention using something along 2335these lines in TO-DO), but I can't think of a way of implementing the 'you 2336can switch VCs while it's decompressing, but if you haven't switched back by 2337the time I've finished with the decompression, I flash the numlock light on 2338your current VC' idea that isn't totally gross. Also, passing around a 2339pointer to a function that'll redraw the screen if you switch back *before* 2340it's finished is a bit gross too. Aaaaragrrggrhhhh. :( x 2^UINT_MAX. I think 2341we all know the line by now; "it'll be there in the next version" (ho ho). 2342 2343 2344Version 1.26g: 26/9/93 2345 2346GIF and JPEG error reporting now works in zgv, gifview and even tnpic. Whoa, 2347how wonderfully amazing, etc. The JPEG error problems were simply because I 2348was resetting everything to defaults after I'd put my own routines in place. 2349(blush) Well it was hard to spot, ok!? Slight problem still, if gifview gets 2350a JPEG error, it tries to draw the message box in graphics mode while it's 2351still in text mode. All that happens is that it waits for you to press enter 2352or esc, but it's a bit gross. I'll fix that soon. Note that now all JPEG 2353errors are fatal. I might change this so that corrupt data errors which the 2354JPEG lib regards as non-fatal really aren't fatal, and give you a choice of 2355whether to continue or not. This is fairly awkward though, and I've more 2356important things such as command-line args to add, and stuff. (So there.) 2357Then again, I probably won't get around to any of it all that soon. :( 2358 2359Three versions in the same day? I think I'm beginning to get the hang of 2360this again... The really difficult thing is keeping the documentation up to 2361date! 2362 2363 2364Version 1.26f: 26/9/93 2365 2366GIF error reporting now works fully, and reports which error happened. There 2367was one mind-bogglingly hard-to-spot bug which (sometimes) seemed to lock it 2368up, because I didn't properly initialise some arrays I use for 2369decompression. Nasty. Anyhow, it's all fine now. JPEG still as screwy as 2370ever - it works, but bombs out on an error. 2371 2372Online keys help for file selection screen added. 2373 2374 2375Version 1.26e: 26/9/93 2376 2377Can now VC switch on the file display screen (still not on the file 2378selection screen while decompressing, though). Made the keyboard reading 2379routine a bit more general and less messy. 2380 2381Vi keys can now be used, so now kjhl = qaop. This means that the help key 2382for the file display screen has moved to '?'. The brightness controls are no 2383longer 'k' and 'l', but have moved to '<' and '>'. 2384 2385 2386Version 1.26d: 25/9/93 2387 2388Temporary fix to the JPEG error reporting problem. (It used the default 2389handler, and did an exit() which left you in graphics mode.) I use atexit() 2390to make sure you get put back in text mode on an exit(). This isn't great, 2391but it should tide us over until I can work out exactly what's *really* 2392going on. Besides, there's a whole load of other things I've got to do 2393before I can nail it down as 1.3. 2394 2395Only quits when Esc is really pressed, rather than when you press a key 2396which initially *looks* like Esc and which isn't used - such as, say, End or 2397Home. The file display screen was ok, but I've put the fix in anyway since 2398I'll be putting VC switching in that bit soon (which caused the problem on 2399the file selection screen). 2400 2401 2402Version 1.26c: 25/9/93 2403 2404Added a patch to vgalib to substitute a (more useful, IMHO) 320x480 mode for 2405the usual 320x400. Changed zgv to use 320x480 rather than 360x480 as default 2406mode. 2407 2408 2409Version 1.26b: 24/9/93 2410 2411PostScript support added. :) Well, sort of. Since ghostscript outputs gif 2412format if you ask it to, it was too good to miss. Zgv simply builds the 2413relevant command line, and views a (temporary) gif of the page, mostly using 2414defaults. Obviously, you need ghostscript for this. My handling of it is so 2415simple that only the first page of the PS file is shown - bit of a problem 2416if there are several pages. I might leave this as is though, because it's 2417perverse enough to use a gif viewer to view one-page PS files, let alone 2418whole documents! 2419 2420You can forget me fixing the error handling stuff for a while yet. It still 2421seems to be using the default handler, and I don't understand why. Oh well. 2422 2423 2424Version 1.26a: 23/9/93 2425 2426Fixed the bug with, well, what I *thought* was zooming a pic in 640x480x16 2427mode. It was actually a bug that caused a segfault whenever you tried to 2428zoom a pic which was exactly the height of the current screen mode, although 2429there may have been other times when it could have happened. Anyway, it was 2430easy to fix. Should get around to error handling stuff soon. 2431 2432 2433Version 1.26: 23/9/93 2434 2435Ok, I was wrong, I've got Linux again now (installed it last night), thanks 2436to Graham/Paddy/Carl, and presumably Paul since they're his disks. Fixed the 2437bug with monochrome JPEGs. Not only does it not hang and leave you in 2438graphics mode, it even *works* now! :) Errors *still* seem to be reported by 2439the default handler, and not my own. I'll work on this again as soon as I go 2440through the other pending bugs. 2441 2442 2443Version 1.25a: 7/9/93 2444 2445Documentation corrected (my id isn't mr1cy2, for example). If you're 2446wondering why I haven't done anything to zgv for over two months, my Linux 2447partition(s) fell apart badly and I didn't have any backup or installation 2448disks (well, I did have some backup, but not the stuff that went wrong, like 2449gcc and some other stuff). All the source was ok, though (phew). There'll be 2450no more development until Oct. 4 at the earliest, and 1.3 won't be uploaded 2451until around mid to late Oct (pretty pointless saying that sort of thing, 2452considering nobody'll read this until then...). The only way to get Linux 2453again until I get back to Uni costs fifty pounds, although I did see a 2454classified ad. which was offering part of it including gcc for about ten... 2455but I suppose I might as well wait and get it free (which it is, after 2456all!). Ho hum. 2457 2458 2459Version 1.25: 20/6/93 2460 2461Error handling in zgv now works ok for GIF files. Still problems with JPEGs, 2462though. Since a 'thumbnail mode' would have been pretty unusable, I've 2463written a separate program (called tnpic) which creates thumbnails of 2464specified GIF/JPEG files and saves them as one JPEG file. Although this is a 2465program unto itself in many respects, it uses much of the same code as zgv, 2466so any changes will be covered here. Tnpic isn't all that fast - it uses an 2467adapted version of the 'zoom' code from zgv with the 'vkludge' option on. 2468The thumbnails can look a bit smudgy, but are generally ok. 2469 2470 2471Version 1.24: 15/6/93 2472 2473Now have config information saved to $HOME/.zgvrc file. It's a bit crude at 2474the moment, but it's intended to only be written by pressing 's' at the zgv 2475file selector screen when you've got the config as you want it. Tried some 2476testing of speed to see if a 'thumbnail mode' option such as Graphic 2477Workshop for Windows has would be feasible. No way. The screen redraw 2478*crawls*. 2479 2480Note that if you compile zgv with VGAlib 1.2, and edit the $HOME/.zgvrc file 2481to read 'm=10' instead of 'm=8' or whatever, you can use the ET4000 modes 2482(you'll probably want to do 's=n' instead of 's=y' as well). ET4000 support 2483is so easy since VGAlib already has it that I promise I'll do this properly 2484soon (even if I can't test it). 2485 2486 2487Version 1.23: 13/6/93 2488 2489Virtual console switching working, up to a point - you need to use just the 2490function key, without Alt. Only works on the file selector screen, not when 2491viewing a picture. Also doesn't work when waiting for a picture to load. 2492Couldn't get the VT_PROCESS technique working, it stayed in graphics mode, 2493even when I tried the mode changing outside the signal handler. Thanks to 2494Robert Sanders <gt8134b@prism.gatech.edu> for the idea to support VCs, and 2495suggesting where to look. Hopefully I'll get it working a bit more nicely in 2496the future. 2497 2498 2499Version 1.22: 12/6/93 2500 2501Latent bug regarding the 'stoprightnow' flag in the GIF decoder fixed. (This 2502only seemed to affect files generated by Graphic Workshop for DOS, but there 2503may have been others.) Put in a bitmap logo. Bit pointless really! 2504 2505 2506Version 1.21: 10/6/93 2507 2508Simplistic resampling for zoom - extension of 'virtual mode kludge' option. 2509Bit slow, but looks good. Can make pictures a bit smudgy. 2510 2511 2512Version 1.2: 9/6/93 2513 2514Zgv's file selector runs in graphics mode. Why? Well it looks a lot nicer. 2515Not much of a reason apart from that. Cursor keys work now, in both 2516programs. Erm, that's about it really. I must get around to the other stuff 2517some time. 2518 2519 2520Version 1.1: 29/5/93 2521 2522Code restructured to make updating a little less impossible. This process is 2523alas still not complete (sigh). 2524 2525Zgv uses the GIF decoding engine and JPEG software directly rather than 2526running gifview or djpeg. Gifview also interfaces directly to the JPEG 2527library, since zgv and gifview share the display/decoding code. 2528 2529Zgv uses bar to indicate how much of the GIF/JPEG has loaded, and gifview now 2530uses a percentage rather than the number of lines. 2531 2532Both now support interlaced GIFs. 2533 2534Zgv remembers video mode used for previous picture, and uses it again if 2535appropriate. 2536 2537Contrast/brightness controls are a little more sane. 2538 2539 2540Version 1.0: 10/5/93 2541 2542Gifview hacked up from giftekc, a GIF viewer I wrote for Tektronix 4200 2543series terminals. Zgv, a curses-using front-end which runs gifview also put 2544together. Gifview does 'system("djpeg -gif ...");' and reads the resulting 2545GIF file to read JPEG files. But it does all work. 2546