1Changes from 2007-08-01 onwards: see SourceForge git repository. 2 32005-12-21 Russell Marks <russell.marks@ntlworld.com> 4 5 * src/main.c (do_logo_invert): fixed previous "*ptr++=255-*ptr", 6 which was obviously not too clever. 7 82005-12-18 Russell Marks <russell.marks@ntlworld.com> 9 10 * src/help.c (help_about): updated URL. 11 12 * src/logoconv.c: another missing string.h. 13 14 * src/resizepic.c: didn't include string.h previously, and should 15 have. 16 172005-09-21 Russell Marks <russell.marks@ntlworld.com> 18 19 * src/readjpeg.c (read_jpeg_file): now supports YCCK/CMYK 20 colourspaces, as can be written by e.g. Photoshop. Thanks to 21 Michael Woerdehoff for pointing out the problem. 22 232004-12-15 Russell Marks <russell.marks@ntlworld.com> 24 25 * src/readpng.c (read_png_file): bizarrely, I missed the 26 width/height limit on PNG before. :-( Added it now, thanks to 27 Ludwig Nussel for pointing this out. 28 292004-11-03 Russell Marks <russell.marks@ntlworld.com> 30 31 * Added width/height limits to all native picture readers. This is 32 a crude (albeit effective) fix for heap overflow bugs - there may 33 yet be more subtle problems, but I can't really fix them until I 34 know they're there. :-) Thanks to Luke Macken for letting me know 35 about the heap overflow problems (in zgv). I suppose I should also 36 thank "infamous41md" for publishing the original advisory/exploit 37 (again for zgv), even if he didn't bother emailing me or anything. 38 392003-09-16 Russell Marks <russell.marks@ntlworld.com> 40 41 * Version 0.8. 42 43 * src/help.c (help_about): now says what the program does. Which 44 is probably rather obvious, but what the heck. :-) 45 46 * src/main.c (viewer_expose): fixed long-standing bug with 47 interpolation, which could have resulted in segfaults (though it's 48 hard to say if it ever actually did). 49 50 * src/rcfile.c (usage_help): removed embedded LFs. 51 52 * src/readjpeg.c (get_exif_orientation): added support for the 53 Exif orientation tag (Exif in this context is a form of JPEG). If 54 you enable the "Use Exif Orientation" option in the viewer (or 55 `exif-orient' config/option), it'll compensate for the (e.g.) 56 digital camera's orientation when viewing, so pictures taken with 57 the camera side-on will display the way you would probably want 58 them to. However, since this differs from how most *other* 59 programs will see the files - which are, after all, carefully 60 constructed to be compatible with JFIF/JPEG files - and has the 61 potential to be extremely confusing if you don't know exactly 62 what's going on, it's not enabled by default. Thanks to Fraser 63 Wright for suggesting this feature. 64 652003-07-10 Russell Marks <russell.marks@ntlworld.com> 66 67 * src/readpng.c (read_png_file): don't set background colour to 68 black for mono PNG files, where this may cause problems. This 69 change was ported from zgv; thanks to Morten Bo Johansen for 70 spotting it there. 71 722003-04-05 Russell Marks <russell.marks@ntlworld.com> 73 74 * doc/makeman.awk: fixed some bugs which became apparent when run 75 with gawk 3.1. 76 772003-02-01 Russell Marks <russell.marks@ntlworld.com> 78 79 * INSTALL: added report of MacOS X compile, from 80 krisa@subtend.net. 81 822002-08-22 Russell Marks <russell.marks@ntlworld.com> 83 84 * src/main.c (selector_key_press): added 9/0 as yet another way of 85 doing file untag/tag. These are last-ditch alternatives for 86 keyboards where -/= don't make sense (some non-US/UK keyboards), 87 and where keypad -/+ aren't easily accessible (e.g. laptops). 88 Thanks to Szab�, Bal�zs for inspiring this one. 89 902002-07-25 Russell Marks <russell.marks@ntlworld.com> 91 92 * src/main.c (main): added call to gtk_set_locale() which should 93 hopefully avoid problems when GTK+'s default font is set to 94 something which isn't ASCII-friendly. Thanks to Alexander Pohoyda 95 for this one. 96 972002-07-09 Russell Marks <russell.marks@ntlworld.com> 98 99 * src/main.c (cb_hide_selector): stopped selector getting 100 permanently hidden if two middle-button presses were too close 101 together. Thanks to Jos� Luis Gonz�lez Gonz�lez for spotting this. 102 1032002-03-03 Russell Marks <russell.marks@ntlworld.com> 104 105 * src/readgif.c (outputstring): broken GIFs could overrun a buffer 106 previously - fixed. 107 1082002-01-16 Russell Marks <russell.marks@ntlworld.com> 109 110 * INSTALL: added IRIX success report. Thanks to Andreas Backhaus. 111 1122002-01-01 Russell Marks <russell.marks@ntlworld.com> 113 114 * src/readjpeg.c (read_jpeg_file): fixed post-image corruption 115 bug, so it shouldn't segfault now. (!) Now it should ignore any 116 errors which come after we've got an image (based on the idea that 117 since we do *have* an image, we should display it). Thanks to 118 Aaron Brick for spotting this one. 119 1202001-10-24 Russell Marks <russell.marks@ntlworld.com> 121 122 * INSTALL: added Solaris success report. Thanks to Sven Goldt for 123 that. [And to Steven Bankowitz, who also reported success.] 124 1252001-09-20 Russell Marks <russell.marks@ntlworld.com> 126 127 * src/rcfile.c (usage_help): fixed typo. 128 1292001-04-10 Russell Marks <russell.marks@ntlworld.com> 130 131 * Version 0.7. 132 133 * src/Makefile: whoops, `-lz' was missing. I usually got away 134 with this, but it did break in some cases (perhaps with Imlib 135 1.9.10?). Thanks to Gabor Z. Papp for pointing this out 136 (albeit, again, somewhat indirectly :-)). 137 138 * src/mkopts.awk: there isn't any reason I can't just use stdout 139 for error messages, so do that. 140 141 * src/updatetn.c (cb_update_tn): this'll be fun to explain. :-) 142 Ok... the non-recursive thumbnail update stops thumbnail reading 143 before doing the update (as does the recursive one, but never mind 144 that). Previously, if you pressed `u' soon enough after the 145 thumbnail-read had started, and only files a long way down in a 146 big directory needed new thumbnails, then you could be left with a 147 mostly-blank set of thumbnails onscreen for (say) a few seconds. 148 It now makes sure all thumbnails in the visible portion of the 149 list are read before it starts, rather like recursive update. 150 151 * src/backend.c: marking image as uncacheable seems to *very* 152 occasionally lead to a segfault (infrequently enough that I've 153 found this hard to track down), apparently due to unearthing a bug 154 in Imlib1's uncacheable-image code which is (I think) never 155 otherwise used. So we don't do that any more. 156 1572001-04-09 Russell Marks <russell.marks@ntlworld.com> 158 159 * Added support for PRF (ported from zgv), which is basically a 160 kind of extrapolated version of my old mrf format - unlike mrf, 161 PRF supports greyscale and colour. Thanks to Brian Raiter for both 162 devising the format, and writing the reference implementation 163 readprf.c is heavily based on. 164 165 * src/mkopts.awk: now detects running under an old awk, and 166 complains about it with a pointer to config.mk. 167 1682001-03-01 Russell Marks <russell.marks@ntlworld.com> 169 170 * src/main.c: toggling all tags is now possible, with Alt-o or 171 Tagging/Toggle All. 172 173 * src/main.c: you can now move to the next/previous tagged file 174 with `/' and `?' respectively (or equivalent menu options). When 175 used in the viewer, this also views the file. 176 (init_window): moved `Tag then Next' to new viewer `Tagging' menu. 177 178 * src/main.c: fix for redraw-related position problem. (In 0.6, 179 try going to the end of the selector's list, pressing `v', then 180 pressing `v' again - the row positioning is slightly wrong.) 181 (init_window): added `Open' to selector `File' menu, and 182 rearranged the menu slightly; moved tagging commands to `Tagging' 183 menu. 184 1852001-02-03 Russell Marks <russell.marks@ntlworld.com> 186 187 * src/main.c (set_title): no longer includes the version number in 188 the window title, as you can get this from both `xzgv --version' 189 and About on either Help menu. 190 191 * Added help menus. Currently just runs info on the relevant node, 192 but it's better than nothing I s'pose. :-) 193 1942001-01-16 Russell Marks <russell.marks@ntlworld.com> 195 196 * Added choice of timestamps to use when sorting in time/date 197 order - you can now choose mtime (default), ctime, or atime. You 198 can switch with alt-shift-m/c/a, or from selector menu's 199 Directory/Time & Date Type submenu, or with `sort-timestamp-type' 200 option/config. Thanks for Wolfram Kleff for suggesting this. 201 202 * src/main.c (viewer_key_press): you can now use shifted cursor 203 keys as an alternative means of paging up/down/left/right in the 204 viewer. 205 (selector_key_press): any `Menu' key you might have can now be 206 used to show the selector/viewer menus, just as right-clicking or 207 pressing F10 does. 208 2092000-12-28 Russell Marks <russell.marks@ntlworld.com> 210 211 * src/readtiff.c: didn't need to include rcfile.h. 212 (read_tiff_file): previously flipped the image incorrectly. 213 2142000-12-21 Russell Marks <russell.marks@ntlworld.com> 215 216 * `make install' now uses slightly more friendly Debian-ish 217 permissions (755 for executable, 644 for docs). 218 2192000-12-15 Russell Marks <russell.marks@ntlworld.com> 220 221 * src/readgif.c (outputstring): copied new non-recursive 222 outputstring() across from zgv. No real advantage in xzgv, but 223 it saves a gratuitous inconsistency at least. :-) Oh, 224 actually, there is an advantage - this version shouldn't be 225 hangable even with badly broken GIFs. 226 2272000-12-14 Russell Marks <russell.marks@ntlworld.com> 228 229 * src/main.c (cb_selection): made toggles which could possibly 230 affect the image display (in fact, did just about any which do 231 GTK+ stuff) ignore the toggle attempt if currently loading an 232 image. The main problem this fixes is the weirdness that used to 233 happen after toggling zoom while a picture was loading 234 (particularly when unzooming, and loading a `big' picture). 235 2362000-12-13 Russell Marks <russell.marks@ntlworld.com> 237 238 * src/readgif.c (decompress): inittable() shouldn't have trusted 239 code size to match numcols. It broke on a certain flavour of 240 unusual and suboptimal, but valid, GIF with less than 256 colours 241 (probably generated by a `broken' encoder). Thanks to Lenart 242 Janos, Josip Rodin, and Chris Lawrence for spotting this and/or 243 pushing the bug report to your friendly neighbourhood upstream 244 maintainer. :-) 245 246 * src/readjpeg.c (read_jpeg_file): sped things up a bit by reading 247 in a slightly less simplistic manner, and by not doing "fancy 248 upsampling" (doing this previously was the main reason why 249 Imlib1's reader was faster). Combined with the change below, this 250 makes native JPEG reading a teeny bit faster than Imlib1's, so 251 it's now done that way for non-thumbnail use too. Also added 252 `careful-jpeg' option/config, in case you want to leave it 253 enabled (seems to be about a 10% slowdown). 254 255 * src/backend.c (backend_create_image_from_data_destructively): 256 now properly implemented for Imlib1. The way I've done it is 257 slightly evil, but it speeds things up. ;-) 258 259 * doc/xzgv.texi (File Type Identification): this bit could 260 probably do with a rewrite, but at least it vaguely resembles 261 reality now. :-) 262 263 * src/readtiff.c: TIFF reader - uses libtiff. This means yet 264 another library dependancy :-/, but enough people seem to use xzgv 265 with TIFFs that it's probably worth doing properly. 266 2672000-12-10 Russell Marks <russell.marks@ntlworld.com> 268 269 * src/updatetn.c (update_one_tn): now makes sure a page of 270 thumbnails is visible even when doing non-recursive update - 271 previously doing such an update before all thumbnails had been 272 read in would show blank spots during the update (unlike the 273 now-usual xzgv behaviour of loading onscreen thumbnails asap). 274 This only seems to slow it down fractionally (by about 0.5% in a 275 large dir full of small files in thin-rows mode), so I think it's 276 worth it to get the consistency. 277 2782000-11-24 Russell Marks <russell.marks@ntlworld.com> 279 280 * INSTALL: added more 0.6 success/failure reports - thanks to 281 Joerg Reuter at SuSE. 282 283 * src/main.c (viewer_key_press): whoops, I broke alt-a/u from 284 viewer when I added ^a/^u - sorted that out. 285 286 * src/backend.c: added gdk-pixbuf backend (aimed at 0.9.0). 287 gdk-pixbuf doesn't quite provide everything xzgv needs, and seems 288 rather slower than Imlib1 at rendering *despite* avoiding some 289 unnecessary pixmap creation, so I don't see myself recommending 290 use of this any time soon. Anyway, it's there if you want to try 291 it. It doesn't support flip/mirror/rotate, or any 292 brightness/contrast/gamma changes (I suppose I'll get around to 293 these eventually, but expect them to be *slow* as gdk-pixbuf 294 doesn't provide native facilities for this stuff), and doesn't 295 support as many filetypes as Imlib1 (no fallback I suppose), but 296 the rest is there. 297 2982000-11-23 Russell Marks <russell.marks@ntlworld.com> 299 300 * src/readjpeg.c: adapted readjpegtn.c so it's usable as a normal 301 JPEG reader too. Unfortunately this seems to be slower than Imlib1 302 at reading JPEGs :-) (probably because creating Imlib's image from 303 the RGB data involves copying it?), so it's still only used for 304 thumbnails. 305 306 * src/main.c (cb_delete_file): added `delete-single-prompt' 307 option (cmdline and config file) so you can disable the y/n 308 prompt when deleting a file, rather like zgv's `nodelprompt'. 309 Thanks to Martin Bialasinski for suggesting this. 310 3112000-11-21 Russell Marks <russell.marks@ntlworld.com> 312 313 * doc/xzgv.texi: case of chars in Alt-x and Ctrl-x forms should 314 now be uniformly lowercase. 315 (File Details): now mentions problem with zgv 5.0/5.1 generating 316 incorrect thumbnail width/height details (5.2 is ok). 317 318 * src/main.c: many keyboard navigation fixes/additions. Selector 319 and viewer now both support ^u/^v/^a/^e as alternatives to page 320 up/down and home/end. j/k in selector were fixed to behave more 321 like cursor up/down do. 322 3232000-11-20 Russell Marks <russell.marks@ntlworld.com> 324 325 * src/main.c: concerted attempt to nail all the remaining 326 recursion problems. Now everything which even *thinks* of calling 327 render_pixmap() is protected. :-) This isn't perfect though, as 328 the protections are independent (do a mirror and flip at about the 329 same time, and it'll mess up), so I'll need a better fix 330 eventually. 331 (do_gtk_stuff): this is now a LOT smarter about what to do when 332 thumbnails are being loaded - fixes the bug where (while 333 thumbnails were being loaded) holding down space to storm through 334 N images got it very confused indeed. 335 336 * doc/xzgv.texi (Renaming a File): it's xzgv not zgv. :-) 337 338 * src/main.c (load_image): X windows are limited to a maximum size 339 of 32767x32767 pixels, and xzgv uses a GTK+ widget based on an X 340 window for its image. That's not the change, this is - previously, 341 my GIF/PNG/mrf file readers failed to notice the problem larger 342 images would cause, leading to a segfault - they now give an 343 error. 344 (cb_selection): now ensures focus is returned to selector when 345 changing dir, making the pastpos action clearer when using the 346 mouse (i.e. if you go down into a dir and then back up, the 347 keyboard cursor will show which dir you just left). Previously, if 348 you'd viewed an image before changing dir with the mouse, focus 349 would have remained on the image. 350 351 * src/updatetn.c: recursive thumbnail update no longer reads all 352 thumbnails before doing updates - it now only bothers to read 353 visible thumbnails. This makes the `fast-recursive-update' option 354 rather less useful, as it's nearly that fast already. :-) 355 (cb_update_tn_recursive_confirmed): previously didn't do pastpos 356 stuff to save/restore cursor row `around' recursive update - 357 fixed. 358 3592000-11-17 Russell Marks <russell.marks@ntlworld.com> 360 361 * Now adapts rendering method for big images. When the number of 362 pixels in the image exceeds the value set by 363 image-bigness-threshold (as set in config file or on command-line, 364 defaulting to 2 million pixels), it's drawn piece-by-piece on 365 demand rather than all-at-once. The all-at-once behaviour is worth 366 keeping around for smaller images, as it gives much nicer 367 scrolling - but for big images it's just impractical, hence this 368 feature. 369 370 * src/main.c: previously, when you scaled down as far as it would 371 go, it would never let you scale down again in the same way, due 372 to breaking an anti-recursion measure. Fixed that. 373 3742000-11-16 Russell Marks <russell.marks@ntlworld.com> 375 376 * src/backend.c: wrapper for rendering backend. This is now (apart 377 from the Makefile) the only place with any Imlib1 dependence, so 378 this should make it easier (or rather, slightly less than 379 infinitely hard :-)) to switch backends if I decide to do that, or 380 to support multiple backends (choosing backend at compile time). 381 3822000-11-11 Russell Marks <russell.marks@ntlworld.com> 383 384 * doc/Makefile: replaced ifeq/ifneq with shell equivalent, which 385 turns out to be sufficient (if uglier). This should avoid the need 386 to use GNU make. Thanks to Frank Pohl for spotting this problem. 387 3882000-11-07 Russell Marks <russell.marks@ntlworld.com> 389 390 * Changed `install -m' invocations to do plain install and change 391 permissions after (with chmod). Thanks to Steven Bankowitz for 392 reminding me of `-m' being a problem on things like Solaris. 393 3942000-10-29 Russell Marks <russell.marks@ntlworld.com> 395 396 * src/main.c (init_window): as must be traditional by now, I found 397 a bug almost immediately after the release. :-) Quite a minor one, 398 thankfully. Previously you could still toggle thin-rows while 399 running in the `xzgv file(s)' way, which was silly and made things 400 look strange. Harmless, but fixed now. 401 4022000-10-28 Russell Marks <russell.marks@ntlworld.com> 403 404 * Version 0.6. 405 4062000-10-27 Russell Marks <russell.marks@ntlworld.com> 407 408 * src/filedetails.c (make_details_win): file details dialog now 409 works fully even when started with `xzgv file(s)' (previously the 410 details from any thumbnail were missing). 411 4122000-10-26 Russell Marks <russell.marks@ntlworld.com> 413 414 * src/main.c (cb_selection): before, when you used decoupled 415 scaling and then rotated a picture, it messed up when resetting 416 things for the next picture. Fixed that. (It swapping the scalings 417 inappropriately when setting picture orientation to either 0 or 418 the last picture's state.) 419 (reinit_dir): when rescanning the directory (in the control-r 420 sense :-)), the keyboard cursor now tries to stay at the same 421 place in dir list, for consistency with zgv and because it's just 422 nicer. Thanks to Philippe Marzouk for spotting this one. 423 424 * TODO: made into an outline to keep the less important stuff from 425 crowding out the things I should really be thinking about. 426 4272000-10-25 Russell Marks <russell.marks@ntlworld.com> 428 429 * doc/makeman.awk: previously, a one-line paragraph with a 430 formatting-type @-command would merge into the start of the next 431 paragraph. 432 433 * src/readgif.c (outputchr): was previously broken for interlaced 434 GIFs with less than 4 lines; this broke the heap, leading to 435 difficult-to-pin-down segfaults. 436 437 * INSTALL: generally updated and tidied up. Also added a section 438 reporting how past versions of xzgv (currently 0.5) have been said 439 to react on certain non-Linux/x86 systems. 440 4412000-10-23 Russell Marks <russell.marks@ntlworld.com> 442 443 * src/copymove.c: now copes with copy/move when started as `xzgv 444 file(s)'. It's not perfect, in that the selector isn't updated (so 445 after a move things can be confusing), but at least it's usable. 446 447 * Made icon a bit less indistinct. :-) 448 4492000-10-22 Russell Marks <russell.marks@ntlworld.com> 450 451 * You can now change the sorting order from the command-line with 452 `-o'/`--sort-order' (and from a config file similarly), which 453 takes a name/ext/size/date (or time) arg (though only the first 454 char is required). 455 456 * src/rcfile.c: if you omitted the arg to an option in a config 457 file, it would segfault. Fixed that, and applied brown paper 458 bag as appropriate. :-) 459 460 * src/rcfile.c (usage_help): usage help is now strictly sorted in 461 long-option order. 462 (geom_parse): would previously get stuck in an infinite loop if 463 given a bogus geometry arg. 464 4652000-10-17 Russell Marks <russell.marks@ntlworld.com> 466 467 * Added my own PNG reader (well, libpng interface :-)), ported 468 from zgv. This avoids the Imlib PNG problems (still present in 469 1.9.8, the latest version I've checked), such that greyscale 470 PNGs are now read correctly, and you no longer have the `now 471 it's purple, now it's not' problem with partly-transparent 472 PNGs. (Though that does still affect, for example, XPMs.) It 473 also seems to be slightly faster, but only very slightly. So 474 note that you now need to have png.h and pngconf.h available 475 when compiling xzgv (you already needed the *library* for 476 Imlib, but now you need the headers too). 477 4782000-10-10 Russell Marks <russell.marks@ntlworld.com> 479 480 * doc/makeman.awk: ported over zgv change - previously it didn't 481 output a correct NAME line (it used "-" rather than "\-"). 482 4832000-10-07 Russell Marks <russell.marks@ntlworld.com> 484 485 * Since I've finally switched to using Emacs's c-mode, after 486 getting the indentation configured correctly with no bugs 487 getting in the way (I hope :-)), I've reindented everything 488 (other than getopt* and install-info.c) with it. The changes 489 are minor, obviously - essentially it's just lining things up 490 a bit more nicely, though some long lines in main.c had to be 491 mangled a bit to keep the line length under 80 chars. 492 4932000-09-30 Russell Marks <russell.marks@ntlworld.com> 494 495 * src/rcfile.c: get_config() previously assumed $HOME was set. 496 4972000-09-25 Russell Marks <russell.marks@ntlworld.com> 498 499 * src/main.c: added gamma support, but as with brightness/contrast 500 this is only available from the keyboard for now. The basic idea 501 is to ignore the rather unworkable image/screen gamma distinction, 502 and just use a relative gamma with fast shortcuts for common 503 cases. So pressing `1' gives a gamma adjustment of 1.0 (i.e. no 504 adjustment), `2' gives 2.2 (for e.g. viewing linear-gamma files on 505 an average PC monitor), `3' gives 1/2.2 (~0.45, for e.g. viewing 506 2.2-gamma files on a linear-gamma display), and `4' reverts to any 507 `--gamma' setting (or 1.0 if none was set). You can also use 508 alt-comma and alt-dot for more precise control of gamma 509 adjustment. Note that gamma is deliberately *not* reset by the 510 brightness/contrast resetting keys. 511 5122000-08-26 Russell Marks <russell.marks@ntlworld.com> 513 514 * doc/xzgv.texi (Invoking xzgv): --zoom-reduce-only line should 515 have been an `itemx' not an `item'. 516 (Rescanning the Directory): rephrased to avoid awkward repetition 517 of `however'. 518 519 * Changed `$(MAKE) -C foo bar' in Makefiles to the more portable 520 form `cd foo && $(MAKE) bar'. 521 522 * Unfortunately doc/makeman.awk really does require gawk (some 523 features of gensub are too difficult to do without), so I've 524 changed the Makefiles such that a prebuilt man page will come with 525 the xzgv tgz. This doesn't make the tgz much larger, and seems a 526 tolerable compromise for coping with gawkless systems. 527 5282000-08-24 Russell Marks <russell.marks@ntlworld.com> 529 530 * src/Makefile: install-info uses getopt_long(), so it needs to 531 link with getopt.o and getopt1.o to avoid problems on non-glibc 532 systems. Thanks to Steven Bankowitz for the feedback on a Solaris 533 build which lead to this fix (and those below). 534 535 * src/install-info.c: now uses the bundled getopt.h rather than 536 assuming there's one on the system. 537 538 * config.mk: added AWK line, so you can specify the awk 539 interpreter to use. (A `new' awk is needed, so gawk is the 540 default, but nawk is another possibility.) This setting doesn't 541 yet apply to doc/makeman.awk, which is currently hardcoded to use 542 gawk since it requires a gawk extension. (One to fix later, I 543 suppose. :-)) 544 5452000-08-17 Russell Marks <russell.marks@ntlworld.com> 546 547 * Version 0.5. 548 5492000-08-15 Russell Marks <russell.marks@ntlworld.com> 550 551 * logo.c: whoops, still had a zgv header, fixed that. :-) 552 553 * TODO: checked up on does-this-still-happen bugs - most do still 554 happen. They're not major ones, I s'pose, but it's enough for the 555 next version to be 0.5 rather than the 1.0 I'd been considering. 556 :-/ 557 558 * src/main.c: made the thumbnail loading's jumping-about 559 behaviour considerably smarter - it should be pretty optimal 560 now (given the requirement that it jump around to show 561 currently-visible stuff, that is). 562 5632000-08-04 Russell Marks <russell.marks@ntlworld.com> 564 565 * src/libmmx-990416/mmx.h: fixed so it compiles even with 566 optimisation off, though I can't imagine why you'd compile it like 567 that. :-) Thanks to Gabor Z. Papp for pointing this out (albeit 568 somewhat indirectly). 569 5702000-07-25 Russell Marks <russell.marks@ntlworld.com> 571 572 * src/gotodir.c: previously, jumping from a large dir to a large 573 dir (or even to a small dir, sometimes) could result in the 574 redrawing of the main window being noticeably delayed after the 575 dir-change window being destroyed - fixed that (mostly). 576 5772000-07-24 Russell Marks <russell.marks@ntlworld.com> 578 579 * src/main.c: massively reduced *apparent* thumbnail load time, by 580 making it jump around to whichever part of the directory you're 581 currently looking at. :-) (It will eventually fill in any gaps, 582 when you stop moving around for long enough.) 583 5842000-07-13 Russell Marks <russell.marks@ntlworld.com> 585 586 * src/main.c: added preliminary check when reading files from 587 command-line, to get rid of (at least in most cases) the 588 window-open-then-close ugliness you used to get before a `no 589 files' error message. 590 5912000-07-11 Russell Marks <russell.marks@ntlworld.com> 592 593 * src/main.c: rows have been made 2 pixels taller, to allow room 594 for the outline cursor to go either side of the thumbnail rather 595 than potentially XORing over it. In addition to being a little 596 more aesthetically pleasing :-), this works around what seems to 597 be a GTK+ bug (as of 1.2.7 at least), where scrolling with the 598 cursor keys can leave part of the XOR'd cursor outline stuck on 599 the thumbnail (I suspect the pixmap is being drawn at the wrong 600 time). The extra pixel lines reduce the number of thumbnails 601 visible at once very slightly, which is unfortunate, but I really 602 think it's necessary. 603 6042000-07-10 Russell Marks <russell.marks@ntlworld.com> 605 606 * src/main.c: fixed recursion problems in scaling. Thanks to 607 Steven Flintham for reminding me of this, and noting how badly it 608 affected decoupled scaling. 609 6102000-07-04 Russell Marks <russell.marks@ntlworld.com> 611 612 * src/main.c: anti-clockwise rotation previously didn't swap x/y 613 scaling values, so when using decoupled scaling it screwed up. 614 6152000-06-28 Russell Marks <russell.marks@ntlworld.com> 616 617 * src/main.c: fixed a significant memory leak, though you probably 618 wouldn't have noticed it unless you did a recursive thumbnail 619 update on a fairly well-populated hierarchy. I have a feeling this 620 fix *may* break older GTK+ versions; if changing directory 621 segfaults, you need to upgrade. :-) It's known to work on at least 622 GTK+ >=1.2.6. 623 6242000-06-27 Russell Marks <russell.marks@ntlworld.com> 625 626 * doc/xzgv.texi: finally got around to documenting decoupled 627 scaling stuff. :-) 628 629 * doc/xzgv.texi (Viewer Options): listed keyboard shortcut for 630 zoom-reduce-only was wrong. 631 632 * src/options.src: added short option `-r' for zoom-reduce-only. 633 It's a useful enough option that it's worth having a shortcut. :-) 634 635 * src/main.c: added mouse shortcut for decoupled scaling. This is 636 quite a tricky one on the UI front, but the basic idea is that you 637 can scale only one axis directly from the mouse, as it were, with 638 ctrl-click and ctrl-right-click. You can change the axis to scale 639 (default is the Y axis) by using the axis toggle on the viewer 640 options menu (or by pressing alt-c). You can change the default by 641 enabling `mouse-scale-x', on the cmdline or in a config file. 642 6432000-06-08 Russell Marks <russell.marks@ntlworld.com> 644 645 * src/main.c: added decoupled scaling - you can now scale x and y 646 axes of a picture independently. Thanks to Steven Flintham for 647 suggesting this. It's primarily for fixing aspect ratios on pics 648 intended for viewing with non-square pixels. Interpolation isn't 649 supported when the x scale doesn't equal the y scale. 650 6512000-05-11 Russell Marks <russell.marks@ntlworld.com> 652 653 * config.mk: changed back to using -O2. It seems this doesn't 654 break anything any more. Presumably I'm now avoiding whatever 655 compiler bug was probably responsible for problems before. :^) 656 6572000-05-06 Russell Marks <russell.marks@ntlworld.com> 658 659 * src/main.c: clicking on the viewer now moves to the next 660 image. Dragging the picture around still works - any mouse 661 movement at all during the click, and the picture gets dragged 662 instead. (If you want/need to disable this for some reason, 663 you can do so with `click-for-next off' in ~/.xzgvrc.) Thanks 664 to Paul E. Johnson for this idea. 665 6662000-05-03 Russell Marks <russell.marks@ntlworld.com> 667 668 * src/main.c: previously, if you had auto-hide and zoom turned on, 669 then turned off auto-hide, the picture wasn't rezoomed when the 670 selector was shown - fixed that. 671 672 * src/libmmx-990416/mmx.h: fixed to work with gcc 2.95.x. Had to 673 remove eax from clobber list in mm_support(), and get rid of some 674 spurious colons after instructions. It now compiles 675 (and seems to work ok) with -DINTERP_MMX on at least three 676 different versions of gcc (thanks to Steven Flintham for testing 677 two of them :-)). 678 6792000-04-23 Russell Marks <russell.marks@ntlworld.com> 680 681 * Updated email address everywhere (except below). 682 6832000-04-14 Russell Marks <russell.marks@dtn.ntl.com> 684 685 * config.mk: now easier to install info file/man page in 686 FHS-friendly PREFIX/share (e.g. /usr/share/man/man1). However, the 687 traditional locations are still the default, as I suspect e.g. 688 /usr/local/share/man/man1 is much less widely accepted than 689 /usr/local/man/man1. If you're installing in /usr, though, 690 uncommenting the SHARE_INFIX line may be a good idea. 691 6922000-03-31 Russell Marks <russell.marks@dtn.ntl.com> 693 694 * Version 0.4. 695 696 * README: removed mrf stuff which I suspect no-one cared about in 697 the first place. (Even I was getting tired of it, and I *use* 698 mrf... :-)) 699 7002000-03-14 Russell Marks <russell.marks@dtn.ntl.com> 701 702 * doc/xzgv.texi: documented cut/copy/paste in `goto dir' dialog. 703 704 * doc/xzgv.texi (Moving Around The List): removed link from after 705 "Mouse-happy types can freely skip it" comment, as it wasn't that 706 useful and would have looked odd in a printed copy... :-) 707 708 * src/main.c: you can now use j/k for down/up in the selector, as 709 vi-like alternatives to the cursor keys. 710 7112000-03-12 Russell Marks <russell.marks@dtn.ntl.com> 712 713 * src/main.c: added brightness/contrast, which works in just the 714 same way as in zgv. No mouse equivalent yet though, as I'm having 715 some difficulty thinking of a reasonable way to do it. (I may even 716 end up (ab)using a modal dialog for it, which would be *odd* but 717 may be the least unreasonable approach given the way xzgv works in 718 general.) I'd ended up putting it off for a while to ponder this, 719 but in the end decided to get it done and add the mousey version 720 later. 721 722 * src/main.c: now avoids a malloc()/free() for each thumbnail 723 read. I doubt it makes much difference to anything though. 724 7252000-03-08 Russell Marks <russell.marks@dtn.ntl.com> 726 727 * INSTALL: updated to reflect MMX change, and asked for feedback 728 regarding portability. 729 730 * config.mk: disabled INTERP_MMX by default, as libmmx doesn't 731 seem to compile under a newer gcc/egcs, and there was no newer 732 libmmx when I last checked, *and* I can't easily try fixing this 733 myself until I'm running 2.95.* or whatever. :-/ 734 7352000-03-07 Russell Marks <russell.marks@dtn.ntl.com> 736 737 * doc/xzgv.texi (Invoking xzgv): de-biased bit which mentioned 738 GNOME in passing to mention both GNOME and KDE, as both are 739 equally valid in context. 740 741 * src/main.c: 15/16-bit dithering can now be toggled with shift-f, 742 by analogy with zgv's `fakecols' toggle. 743 7442000-03-03 Russell Marks <russell.marks@dtn.ntl.com> 745 746 * src/main.c: fixed the problem with toggling zoom off and on 747 quickly, where scrollbars were disabled but an unzoomed image was 748 shown instead of a zoomed one. This was due to recursion in 749 toggle_zoom(), which is now avoided. 750 7512000-02-11 Russell Marks <russell.marks@dtn.ntl.com> 752 753 * I now actually bother using my email address for changelog 754 entries. :-) 755 756 * src/main.c: renamed `Exit viewer' menu item to `Exit to 757 Selector', which should make the meaning less ambiguous. 758 759 * TODO: slightly tidied up and checked/updated. 760 7612000-02-05 Russell Marks <rus@cartman> 762 763 * README: looks like I left this on 0.2 for 0.3, whoops :-) 764 765 * src/main.c: added file rename. The key it's on is heavily 766 suboptimal (^n), but all the good ones were taken. :-) Menu-wise 767 it's ok though - File/Rename file (by analogy with the 768 delete-single-file one). 769 770 * src/rename.c: created. 771 7722000-02-03 Russell Marks <rus@cartman> 773 774 * src/main.c: file magic tests in load_image() supplied 4 bytes to 775 test, but only bothered testing 3. :-) 776 7772000-01-29 Russell Marks <rus@cartman> 778 779 * src/updatetn.c: now avoids the nasty `shear' effect you got when 780 updating thumbnails and it needed to scroll the window before 781 updating a thumbnail. 782 7832000-01-14 Russell Marks <rus@cartman> 784 785 * Version 0.3. 786 787 * src/config.mk: changed CFLAGS to use -O instead of -O2 (I 788 actually did this a few days back); Steven has had weird problems 789 with a recent gcc with -O2, but -O works. (I seem to be ok with 790 (according to `gcc --version') egcs 2.91.66, but it's easier to 791 just throttle back than have it screw up. Besides, all this really 792 does is slow down scaling a bit.) 793 794 * Removed mention of the forfree.at email address, which seems to 795 be b0rken :-(, and replaced with my actual current address. 796 797 * INSTALL: removed note about needing getopt_long(). 798 799 * Added getopt.[ch] and getopt1.c from glibc, so things should 800 hopefully still work on a libc which lacks getopt_long(). 801 8022000-01-10 Russell Marks <rus@cartman> 803 804 * src/copymove.c: use pastpos to try and stay in similar place in 805 selector when rescanning dir. It isn't perfect - in particular, if 806 the old row no longer exists it goes to row 0 rather than staying 807 at the end - but it's better than *always* going to row 0. 808 8092000-01-09 Russell Marks <rus@cartman> 810 811 * src/copymove.c: added copy/move. These work like zgv - copy/move 812 tagged files if any tagged, otherwise copy/move the file the 813 cursor is on. (Being zgv-like also means they stop if they run 814 across an existing file, which can be a little annoying but is 815 probably safest.) 816 817 * src/gotodir.c: made cb_ok_button() static. 818 8191999-12-19 Russell Marks <rus@cartman> 820 821 * src/main.c: you can now use `-k' or `--skip-parent' (or config 822 file entry) to skip the (keyboard) cursor past `..' on the 823 directory xzgv starts on. This can be useful when you want to 824 immediately use space to `page' through a dir. Thanks to Steven 825 Flintham for this idea. 826 8271999-12-14 Russell Marks <rus@cartman> 828 829 * src/main.c: the idle_zoom_resize() idle func is now default 830 priority rather than resize priority. This fixes a problem where 831 zoom mode resizes were one resize behind (!) - thanks to Steven 832 Flintham for pointing this out. Unfortunately this makes `opaque 833 resize' a bit slower, but I think this fix is clearly the Right 834 Thing. 835 8361999-12-13 Russell Marks <rus@cartman> 837 838 * doc/makeman.awk: fixed spurious blank line output in middle of 839 @item/@itemx pairs when there was a comment line between them. 840 It's a pretty ugly kludge, but I couldn't really see any other fix 841 which wouldn't break something else. :-/ 842 843 * src/main.c: scaling can now scale the image *down* as well as 844 up. That is, you can make the image smaller more controllably than 845 you can by using zoom mode. I thought I'd add this as, given the 846 way Imlib works, it comes very cheaply indeed. However, it tends 847 to only be useful (i.e. be any advantage over zoom mode) on big 848 images, where you might want to scale down a bit rather than a 849 lot. One thing I should point out - if you've got used to doing 850 e.g. shift-d lots to get back to 1:1, you'll just have to learn 851 about the `n' (= Scaling/Normal) key... :-) 852 853 * src/main.c: invert-logo now kludges the bottom/rightmost lines 854 of the logo (which are black in the original, and thus turn white) 855 to be a more appropriate grey. A miswart, essentially - it's 856 horrible, but probably the Right Thing in context. :-) 857 8581999-12-10 Russell Marks <rus@cartman> 859 860 * AUTHORS: created. Just points at the main docs, I'm sure a 861 duplicate copy would get out of date. :-) 862 8631999-12-09 Russell Marks <rus@cartman> 864 865 * src/main.c: various things which implicitly turned off zoom mode 866 (basically scaling and `normal') didn't reenable scrollbars 867 afterwards; fixed that. 868 8691999-12-08 Russell Marks <rus@cartman> 870 871 * src/main.c: new `invert-logo' config file option, flips the 872 colours in the logo to look less awful on dark GTK+ themes. :-) 873 The obvious way to `fix' this is to provide some way of disabling 874 the logo, but at the moment it assumes there's always a picture in 875 the viewer window, so this is a bit hairy. (And I think it looks 876 odd with the viewer window empty, which is the reason I bothered 877 with a logo in the first place!) 878 8791999-12-06 Russell Marks <rus@cartman> 880 881 * src/main.c: added MMX-aware version of scaling with 882 interpolation code (using a bundled copy of Hank Dietz/Randy 883 Fisher's libmmx). According to my tests, it's `only' about 35% 884 faster, but it feels like more. :-) See config.mk for details. 885 886 * src/rcfile.c: you can now set the selector's initial/default 887 width with `--selector-width' (or config file setting). It can 888 only be specified in pixels for the time being, but I should add a 889 percentage option at some point. :-) 890 8911999-11-30 Russell Marks <rus@cartman> 892 893 * doc/xzgv.texi (Config Variable Types): added `geometry', which 894 was missing, and corrected previous bit which said all config vars 895 were boolean. 896 8971999-11-22 Russell Marks <rus@cartman> 898 899 * Version 0.2. 900 901 * Made install targets use `mkinstalldirs' (from texinfo) to make 902 paths to installation dirs first. Apparently the FHS guarantees 903 little if anything about /usr/local, so this is basically required 904 rather than merely being a good idea. I've left `mkinstalldirs' 905 non-executable (and run /bin/sh on it directly from the 906 Makefiles), as I don't like the idea of having a single executable 907 file in the top-level dir (some people might think it's like a GNU 908 configure script or whatever, and run it :-)). 909 9101999-11-16 Russell Marks <rus@cartman> 911 912 * src/main.c: some fixes to avoid unwanted recursion when e.g. 913 space is being held down. There still seem to be problems with 914 this when you're really hammering it though (space held down for a 915 long time in a dir with many small images). 916 9171999-11-13 Russell Marks <rus@cartman> 918 919 * src/main.c: now have a reduce-only option for zoom mode, meaning 920 you can have xzgv fit big pictures to the window without having 921 tiny icons etc. balloon up and look horrible. It's not the 922 default, but you can enable it with Alt-r or the viewer options 923 menu's "When Zooming Reduce Only" toggle or `--zoom-reduce-only' 924 or equivalent config file setting. Thanks to Steven Flintham and 925 Robert Braddock for this idea. 926 9271999-11-12 Russell Marks <rus@cartman> 928 929 * doc/xzgv.texi (Invoking xzgv): missed out `geom' arg after `-g' 930 previously, fixed that. 931 9321999-11-06 Russell Marks <rus@cartman> 933 934 * doc/xzgv.texi (Acknowledgements): added a credit for 935 `install-info', which *seems* to have been largely written by Karl 936 Berry, though it's not terribly clear (e.g. the initial change log 937 entry is by RMS, but it just says "new file" or similar, so I'm 938 assuming he didn't do a great deal :-)). 939 9401999-11-04 Russell Marks <rus@cartman> 941 942 * src/main.c: fixed bug where, if you enabled zoom on a picture of 943 nearly the same shape as the viewer window, it left the scrollbars 944 on. 945 9461999-11-03 Russell Marks <rus@cartman> 947 948 * src/main.c: you can now set whether to use 15/16-bit dithering 949 or not independent of Imlib's default setting. The option is 950 Options/Dither in 15 & 16-bit (guess who's using item_factory :-)) 951 on the viewer menu, and can also be set by --dither-hicol or 952 equivalent config file setting. 953 9541999-11-01 Russell Marks <rus@cartman> 955 956 * src/rcfile.c: added `-g'/`--geometry' option (and config file 957 setting), which lets you set the xzgv window's geometry in the 958 usual X fashion. As an extension, all positions/sizes can be given 959 as percentages of the screen size - for example, the default 960 geometry is `92%x85%'. 961 9621999-10-31 Russell Marks <rus@cartman> 963 964 * src/main.c: no longer keeps saying "Reading file..." on 965 statusbar if a file couldn't be read. 966 967 * src/main.c: error dialogs now use an Ok button a third the width 968 of the window, so they look a bit more like the other dialogs. 969 970 * src/updatetn.c: made recursive update require confirmation. 971 There's some annoyance value to this, I suppose, but I think it's 972 justified. It really *can* take a long time, after all, and the 973 dialog also explains what `recursive update' actually means; I 974 think this is useful as it's a term some non-programmers are 975 unlikely to be very familiar with. 976 977 * src/main.c: added file delete (with confirmation), as 978 File/Delete and ctrl-d. I couldn't seem to figure out how to get 979 it bound to Delete (and the hairy and somewhat religious 980 Backspace/Delete mapping area is probably best avoided anyway). I 981 did consider putting it on shift-d like in zgv, but I thought the 982 clash with shift-d as used in the viewer made this potentially a 983 bad idea. (Also, ctrl-d has a `delete' meaning in various other 984 things (e.g. Emacs), while shift-d is probably only used for this 985 by zgv.) 986 987 * src/confirm.c: generic confirmation (yes/no) dialog. 988 9891999-10-27 Russell Marks <rus@cartman> 990 991 * Added recursive thumbnail update. One problem with this is that 992 it reads all existing thumbnails in a dir before updating (like 993 xv, IIRC) to try and avoid having a really ugly selector during 994 the update :-), though you can disable this with 995 `--fast-recursive-update' or an equivalent config file line. 996 997 * src/updatetn.c: moved thumbnail-update stuff here, and removed 998 extra GTK+ update from makexv332(), which was causing problems (it 999 usually segfaulted if you destroyed the main xzgv window while 1000 updating thumbnails). 1001 10021999-10-26 Russell Marks <rus@cartman> 1003 1004 * src/main.c: now copes with being started in an unreadable dir, 1005 and avoids selecting files/dirs it doesn't have sufficient 1006 permissions for. 1007 10081999-10-25 Russell Marks <rus@cartman> 1009 1010 * src/main.c: you can now tag an image while viewing (like in zgv) 1011 by doing ctrl-space (not like in zgv :-)). Also on viewer menu 1012 after next/previous image. 1013 1014 * src/resizepic.c: added a similar speedup which should work 1015 for any file type - it's not quite as fast as the JPEG 1016 approach, which is only really applicable to JPEGs, but it 1017 speeds things up a *lot* for non-JPEGs. It does mean that 1018 thumbnails for dithered images don't usually look as good as 1019 before, but you could probably argue that this makes them more 1020 faithful. :-) (Ok, I realise this could be annoying, so this 1021 speedup will probably become optional at some point...) 1022 1023 * src/readjpegtn.c: custom JPEG loader for thumbnails, makes them 1024 as fast to generate as in zgv (well, curiously, it works out 1025 faster in xzgv for, uh, `technical reasons' :-)). The code which 1026 actually makes things faster was contributed to zgv by Costa 1027 Sapuntzakis. 1028 10291999-10-24 Russell Marks <rus@cartman> 1030 1031 * doc/xzgv.texi: hacked to reflect recent changes. 1032 1033 * src/main.c: you can now `close' a file (clear the viewer, 1034 returning to the startup logo). 1035 1036 * src/gotodir.c: `go to dir' dialog. (Only text-entry for now (!), 1037 but I'll probably extend it at some point.) Changed Sort Order 1038 menu items to be `Sort by Name' etc. under new `Directory' menu to 1039 accomodate this as Directory/Change (also on G (zgv-like)). Added 1040 Directory/Rescan (^R) while I was at it. :-) 1041 1042 * src/main.c: error dialog looked weird before, doesn't look as 1043 weird now. :-) 1044 10451999-10-23 Russell Marks <rus@cartman> 1046 1047 * src/main.c: Esc now exits an error dialog (making it consistent 1048 with the other ones). 1049 1050 * src/filedetails.c: `file details' dialog - selected by 1051 File/Details or (as in zgv) `:'/`;'. Includes width/height from 1052 thumbnail, if present. (Thumbnails from versions of zgv before 5.0 1053 didn't include this - you may to delete your old thumbnails and 1054 `update' if you find that a problem. Note that thumbnails 1055 generated with xzgv/xv/Gimp should be ok.) 1056 1057 * src/main.c: right-clicking on the selector to get the menu 1058 now also moves the focus row (keyboard cursor) to the file you 1059 right-clicked on (and switches focus to the selector). This 1060 should give us a way of doing single-file operations (well, 1061 those other than viewing) with the mouse, without needing to 1062 sacrifice the IMHO very nice single-click-to-view behaviour. 1063 10641999-10-20 Russell Marks <rus@cartman> 1065 1066 * Replaced the directory/file-without-thumbnail icons with nicer 1067 ones. They're loosely based on gmc's `dir-close.xpm', which I 1068 think Tuomas Kuosmanen was responsible for (judging from the 1069 change log). Thanks also to Steven Flintham for pointing out that 1070 the old icons were pretty crap. :-) 1071 10721999-10-19 Russell Marks <rus@cartman> 1073 1074 * Bothered giving it a half-decent logo. :-) Also has a similar 1075 icon. 1076 1077 * src/main.c: thumbnail updates now make sure any row a thumbnail 1078 is being updated for is visible, making the update look more like 1079 it does in zgv - as well as making it rather more clear what's 1080 going on. :-) (The old position is restored when the update is 1081 finished.) 1082 10831999-10-03 Russell Marks <rus@cartman> 1084 1085 * src/main.c: made middle-click on the viewer toggle the selector 1086 rather than always acting like Exit viewer. Thanks to Steven 1087 Flintham for suggesting this. 1088 1089 * src/main.c: previously segfaulted on files less than 4 bytes 1090 long due to a typo. Um, whoops... :-} 1091 10921999-09-30 Russell Marks <rus@cartman> 1093 1094 * src/readgif.c: shouldn't hang on some corrupt GIFs now. This 1095 change reflects the one in zgv 5.0, and thanks go to Andy Mortimer 1096 for the fix (to zgv, but it (currently) applies to xzgv too). 1097 10981999-09-27 Russell Marks <rus@cartman> 1099 1100 * doc/xzgv.texi: corrected a couple of typos. 1101 11021999-09-14 Russell Marks <rus@cartman> 1103 1104 * src/main.c: now has tagging - `-' untags, `=' tags, and with 1105 Alt (Meta) they untag/tag all. As for the mouse, ctrl-click 1106 tags/untags, and there's now a File menu (might become Tagging 1107 or similar, haven't really made up my mind) which has items 1108 for tag/untag all. No way of tagging from the viewer 1109 currently, though, and at the moment nothing at all takes any 1110 notice of whether a file is tagged or not. :-) (Also, you 1111 can't tell if a file is tagged if it's also selected!) 1112 11131999-09-12 Russell Marks <rus@cartman> 1114 1115 * src/main.c: pixmaps for dirs and thumbnailless pics are now 1116 shaped, rather than having an ugly white background. 1117 1118 * src/main.c: another focus-row bug fixed - when the selector lost 1119 focus due to selecting a picture, it didn't undraw the focused 1120 row. (This isn't very obvious with the default GTK+ theme, but it 1121 really shows up with e.g. Rasterman's `pixmap' one.) This was due 1122 to my disabling can-focus *before* changing focus (whoops). 1123 1124 * src/main.c: fixed problem where xzgv's moving the focused row 1125 `by hand' sometimes messed up the display. 1126 11271999-09-08 Russell Marks <rus@cartman> 1128 1129 * doc/makeman.awk: previously the last output line of a 1130 paragraph was never escaped, meaning it would most likely be 1131 lost if it began with a dot (this mangled the first paragraph 1132 of the `Updating Thumbnails' node). 1133 11341999-09-02 Russell Marks <rus@cartman> 1135 1136 * doc/xzgv.texi (Updating Thumbnails): fixed fixed double double 1137 word word. :-) 1138 11391999-08-14 Russell Marks <rus@cartman> 1140 1141 * Version 0.1. 1142 1143 * doc/xzgv.texi: cleaned up - mainly a matter of updating a few 1144 bits, and removing all the zgv stuff which doesn't yet apply (for 1145 as-yet-unimplemented stuff like brightness/contrast, tagging, 1146 slideshows... the list goes on :-)). 1147 1148 * Various cmdline/config options added, so that all runtime 1149 options can now have defaults messed about with. :-) 1150 11511999-08-09 Russell Marks <rus@cartman> 1152 1153 * src/main.c: previously render_pixmap() didn't bother checking if 1154 theimage was NULL (i.e. if no picture was loaded), which broke 1155 e.g. `xzgv --zoom *.jpg'. 1156 1157 * Rearranged things to give a more zgv-like directory layout, 1158 things were getting a bit confusing with all sorts packed into one 1159 dir. 1160 1161 * rcfile.c: ok, it was deeply hairy, but I've converted zgv's 1162 option-parsing and config-file-reading code and (the hairy part) 1163 added long-option support, making long-option names and config 1164 file variable names the same, and having stuff only defined once. 1165 I thought I'd be able to use some cpp trickery to get this 1166 working, but I ended up using an awk script. :-/ 1167 11681999-08-08 Russell Marks <rus@cartman> 1169 1170 * main.c: finally have keyboard control over relative window sizes 1171 (paned widget). `[' moves splitter left, `]' moves it right, 1172 with ctrl+[ and ctrl+] moving in smaller steps. `~' returns 1173 selector to default size, as well as unhiding it. 1174 1175 * main.c: cursor-key equivalents of the small hjkl movements 1176 added; ctrl-cursor moves 10 rather than 100 pixels. 1177 1178 * main.c: fixed bug where any viewer exposure after a 1179 failed-picture-load caused a segfault. (!) I think the code 1180 changes I needed for scaling probably teased this one out, as that 1181 works with the imlib image itself, rather than a pixmap rendered 1182 by it. 1183 11841999-08-05 Russell Marks <rus@cartman> 1185 1186 * doc/xzgv.texi: created, based on zgv's zgv.texi. Pretty scrappy 1187 for now, but at least I've started. :-) 1188 11891999-08-04 Russell Marks <rus@cartman> 1190 1191 * main.c: thumbnail column now matches maximum possible thumbnail 1192 width, making thin rows mode look a *lot* better. 1193 1194 * main.c: menus popped up with F10 now appear in more reasonable 1195 places (top-left of the subwindow they were popped up from). 1196 1197 * main.c: you can now iconify (minimise) the window with ^Z. I 1198 also put it on the menu, which might be handy if you're running 1199 fullscreen and don't know what a keyboard is. :-) Also moved `hide 1200 selector' to the new `window' menu created primarily for minimise. 1201 1202 * main.c: rearranged some menu items - in particular, shifted all 1203 viewer toggles onto an `options' menu. It looked ugly with the 1204 options littering otherwise `normal' menus, and I'm not sure that 1205 (e.g.) having zoom on the scaling menu was all that smart to begin 1206 with. :-) 1207 1208 * main.c: fullscreen option (start with `-f'). Uses the entire 1209 screen with no window frame or anything (if your wm recognises the 1210 decor hints - I think they're mwm ones, but fvwm handles them, 1211 meaning that most wm's around today do :-)). I tried having it as 1212 a run-time option, but it was just too evil trying to `switch 1213 back' from fullscreen, and I never got it entirely working. 1214 12151999-08-02 Russell Marks <rus@cartman> 1216 1217 * main.c: now has the full range of revert stuff from zgv. This 1218 has been streamlined a little to make sense in the largely 1219 modeless xzgv, so now you only have the revert-orientation option, 1220 but it's on the viewer menu so the effect of zgv's 1221 saved-orientation stuff isn't too hard to duplicate. 1222 1223 * main.c: now supports scaling, interpolation and all. :-) Since 1224 keeping a scaled-up image in memory would take up a LOT of room 1225 (we're talking hundreds of megs, even gigs - work it out), the 1226 scaling has to be done on the fly, so it's a bit slow even on 1227 (what I would consider to be) a fast machine. But hey, at least 1228 it's there, and nothing's any slower when you're not using it. 1229 1230 * main.c: thumbnail update now updates pixmaps in selector 1231 directly. This is more efficient than the old behaviour, and has 1232 the additional advantage that you can get to see thumbnails even 1233 if you don't have permission to write them (though you'd have to 1234 do an update every time you revisited the dir!). 1235 1236 * main.c: couldn't-load-file errors now go in dialog rather than 1237 on stderr. :-) They also result in the selector being shown, 1238 useful if you ran xzgv on pics from the command-line. 1239 12401999-08-01 Russell Marks <rus@cartman> 1241 1242 * main.c: made thin rows mode considerably more useful by 1243 maintaining a separate rescaled thumbnail. This is only rescaled 1244 crudely (a take-every-nth-pixel approach), but it works 1245 surprisingly well. 1246 12471999-07-31 Russell Marks <rus@cartman> 1248 1249 * main.c: selector now has zgv-like goto-next-char on g and '. 1250 Like in zgv, there's no indication that it's waiting for a char, 1251 so I've made it timeout after two seconds in case of accidental 1252 presses and the like. (Strictly speaking it doesn't *wait* for the 1253 char; the initial g or ' just sets a flag.) 1254 1255 * main.c: F10 now pops up the right-button menu (in both the 1256 selector and the viewer). You can now also use Enter (well, 1257 actually Return) instead of Space as an alternative way of 1258 selecting a pic. 1259 1260 * main.c: markedly improved keyboard support in viewer by handling 1261 keypresses directly. This is a bit kludgey really, but given that 1262 keyboard movement is now quite faithfully zgv-like, I think it's 1263 worth it. :-) Had to move hide-selector to shift-z (the idea being 1264 it's a bit like zoom but in a different sense) to make room for 1265 hjkl; while I was at it, I changed hide to really be a hide/unhide 1266 toggle. 1267 12681999-07-28 Russell Marks <rus@cartman> 1269 1270 * main.c: bugfix after trying it on my 486 - it wasn't giving GTK+ 1271 a chance to run after creating the `Updating Thumbnails' window 1272 until after the first file's thumbnail had been checked/updated, 1273 leaving the window briefly blank. (Since the first file is almost 1274 always `..', it takes very little time to deal with (as dirs don't 1275 have thumbnails), so much so that I hadn't noticed this delay at 1276 all on cartman.) 1277 12781999-07-27 Russell Marks <rus@cartman> 1279 1280 * main.c: now supports loading picture(s) from command-line. Works 1281 by faking up a selector `directory' containing them, and hiding 1282 the selector. 1283 1284 * main.c: can now explicitly hide selector from viewer. Probably 1285 more useful than auto-hide mode for most people, I'd have thought; 1286 you might find having the selector visible fine generally, but 1287 still occasionally need the full window for a big image. 1288 1289 * main.c: finally, has create/update thumbnails. Also added 1290 `pastpos' stuff from zgv, which remembers where you were when you 1291 last left a previously-visited directory. 1292 1293 * main.c: viewer now uses pixmap background. This causes some 1294 difficulties (which I've mostly managed to work around - er, I 1295 hope :-)), but makes scrolling much easier on the eye. Also 1296 disabled "Reading thumbnails" messages by default and added option 1297 to enable them. 1298 12991999-07-25 Russell Marks <rus@cartman> 1300 1301 * main.c: middle button now does `exit viewer', like Esc (and 1302 equivalent menu option). Handy when in auto-hide mode. 1303 1304 * main.c: added auto-hide mode. Rather nice for those of us 1305 running in relatively low resolutions. :-) However, since I reckon 1306 you're unlikely to want it if you're running in 800x600 or 1307 greater, and since it can be a little confusing, I've resisted the 1308 temptation to make it the default. 1309 13101999-07-24 Russell Marks <rus@cartman> 1311 1312 * main.c: cleaned up some early kludgey stuff - in particular, 1313 removed the long-gone quit button (which until now was merely not 1314 shown, ouch :-)). It's still fairly kludgey in parts, but one 1315 thing at a time eh... 1316 1317 * main.c: fixed `losing' of current selection and focus row 1318 (the keyboard cursor) when sort order is changed. Also fixed 1319 the focus to match selection in this case, and in the other 1320 cases where it was previously a problem (next/prev image, and 1321 thin rows toggle). 1322 13231999-07-23 Russell Marks <rus@cartman> 1324 1325 * Kludged around apparently-buggy imlib GIF support (in v1.9.5 at 1326 least) by adding my own GIF support, via readgif.c and wrapper 1327 mentioned below. Hopefully this will only be a temporary kludge 1328 until imlib gets fixed. :-) PNGs with few colours also have 1329 problems, but that's not so easy to work around, unfortunately. 1330 (Rather, it is in theory, but PNG is a much harder format to read; 1331 readgif.c is only about 400 lines.) 1332 1333 * main.c: now has next/previous image in viewer (on space and b 1334 rather than zgv's space and del, as a) del/backspace issues are 1335 non-trivial in X and b) I couldn't get del to work :-)). 1336 1337 * Added mrf support via readmrf.c and wrapper for 1338 gdk_imlib_load_image(). This is probably the only way mrf support 1339 would get added, as imlib only seems to support the most popular 1340 formats `natively'. 1341 1342 * main.c: finally you can change dir once it's started. :-) Also 1343 added custom sorting routine (so dirs come first, thank ghod for 1344 that), and different sorting orders (as in zgv). 1345 1346 * main.c: loads of changes. Fixed memory leak the size of a planet 1347 (50 meg X server, anyone? :-)), made image draggable with the 1348 mouse, added right-button menus for both selector and viewer, 1349 added `thin rows', `status bar' and `zoom' options, and probably 1350 lots more I can't remember right now. 1351 13521999-07-22 Russell Marks <rus@cartman> 1353 1354 * First, really crap version. (Several more really crap versions 1355 to follow. :-)) 1356