📄 news
字号:
* Changes between versions -*- mode:indented-text; mode:outline-minor -*-This file (NEWS) documents the significant changes between allversions of zgv, with the newest changes first.* Changes in zgv 5.9** New featuresAdded SDL mouse support. Thanks to Dimitar Zhekov for this.** BugfixesAdded width/height limits to all picture readers, 32767x32765 is nowthe maximum image size supported (essentially consistent with xzgv).This is a crude (albeit effective) fix for several reported overflowbugs, which had previously meant that zgv could be exploited to runcommands as the user when viewing a maliciously-formatted file. Thanksto Luke Macken for letting me know about the problems. I suppose Ishould also thank "infamous41md" for publishing the originaladvisory/exploit, even if he didn't bother emailing me or anything.Added more multiple-image GIF brokenness checks than before.Previously it was possible to get a segfault with the `right' file,despite there already being various range checks. Thanks to MikulasPatocka for spotting this.Fixed a problem with freeing memory when a GIF fails to load. Thanksto Mikulas Patocka for the fix.Fixed a possible hang when reading GIF files with corrupted extensionblocks. Thanks to Mikulas Patocka for finding this.Fixed a possible hang when reading corrupted non-raw PBM files.The SDL backend previously had a timer-related bug which could causesome odd problems. Thanks to Dimitar Zhekov for spotting this one.** Other changesThe `fullscreen' option now defaults to on, so you now have to use`--fullscreen=off' (or similar config file option) to disable it. Thiskeeps the SDL backend's behaviour closer to the svgalib one.* Changes in zgv 5.8** New featuresAdded FreeBSD support, thanks to Radim Kolar for contributing this. Besure to read INSTALL in full before building zgv on FreeBSD, there's aminor problem with it at the moment (nothing too horrible though :-)).Added support for dithering in 15/16-bit modes. It's slower than I'dhoped, so it's not enabled by default, but it seems to work wellenough. You can toggle it in the viewer by pressing `F', or add`dither-hicol on' to a config file. Thanks to Stephane ODUL forsuggesting this.Added `fullscreen' option, to override possible use of a windoweddisplay with non-svgalib backends in some situations, the obviousexample being the SDL backend running under X. This isn't necessarilywhat you'd want, and has problems like not being able to fill thescreen in modes it doesn't support natively under svgalib. (And SDLcan cause further problems, from what I've seen.)** BugfixesFixed long-standing bug with interpolation (fix ported from xzgv). Inxzgv the bug could have caused segfaults, but I don't believe this wasthe case in zgv due to the way it allocates memory.Added SDL getbox routine, fixing one of the display glitches whenusing that (dialogs not restoring previous screen contents).Fixed missing-picture-update bug when doing certain mode changes underSDL.The SDL backend will now only ever use SDL's non-native-depth modeemulation for 8-bit modes. This should improve picture quality whenonly 8-bit modes are available, and make all modes other than24/32-bit quite a bit faster. Thanks to David Matthews for inspiringthis change.The SDL backend is now a lot more sensible about automatically pickinga file selector mode, and should have a better chance of working whenusing a single-mode VESA framebuffer. Thanks to David Matthews forindirectly spotting this problem.Added timer start/stop to backend code, so now timer-based stuff (mostnotably GIF animation) works ok under SDL.Fixed colour glitches in dialogs under SDL.** Other changesFinally changed default installation prefix to /usr/local. `makeinstall' now removes any old version (both program and documentation)in the old default locations.Removed embedded LFs from src/bdf2h.c, which were causing compilationerrors with newer versions of gcc. Not strictly a bug - blame the gccfolks :-), though to be fair there had been plenty of advance warning.Thanks to Dimitar Zhekov for the patch.Moved `fake-cols' toggle key from `F' to `G'.Removed support for a repeat-timer setting of "-1" (i.e. constantlyreload the image), which had been broken previously anyway.`x' now aborts GIF animation like Esc does. Thanks to Thomas M. Ottfor pointing out the inconsistency. Note that I don't considersupporting this slightly pointless alternative to Esc to be terriblyimportant (e.g. dialogs don't support it and never have, and they'vebeen in zgv since 1993), and couldn't add it everywhere even if Iwanted to (e.g. change-to-arbitrary-directory dialog).* Changes in zgv 5.7** New featuresAdded support for display backends other than svgalib; currently SDLis supported. (There are still problems with this - e.g. graphicalglitches with dialog boxes, and broken GIF animation - but it seems tobe mostly working.) Alternative backends are by definition never goingto be *better* than native svgalib, but if you somehow can't usesvgalib then at least this gives you a way of running zgv. Note thatyou have to compile a separate zgv executable for each backend, andonly the svgalib one is compiled by default.New `--auto-mode-fit-diff' option, allows you to specify a pixelwidth/height to be disregarded when zgv picks a mode to use andauto-mode-fit is enabled. So e.g. a 330x250 image would be shown in320x240 mode if auto-mode-fit-diff is 10. Thanks to Dimitar Zhekov forthis.** Bugfixes32-bit modes can now be specified on the command-line (they couldn'tpreviously). Thanks to "kscott" for spotting this one.Fixed mouse cursor appearance in 32-bit modes. Thanks to DimitarZhekov for the patch.No longer sets background colour to black for 1-bit mono PNG files,where this sometimes caused problems. Thanks to Morten Bo Johansen forspotting this.** Other changesRestored documentation for `-r', `-s', and `-w' options, which wasmistakenly dropped when I added long-option support.* Changes in zgv 5.6** New featuresNew `-A' or `--auto-animate' option, forces the viewer toautomatically animate multiple-image GIF files. Thanks to JohnFitzgerald for suggesting this (more or less). It limits your viewingoptions greatly, of course (since it's like pressing `e' every timeyou view one, and exiting the image when you exit the animation), butcan be handy for slideshows etc. When this option is enabled, you canuse Backspace/Enter/Space for file navigation/tagging during ananimation. (The skip-to-next-frame key (previously Enter) is now `n'.)Added multi-file delete. This is on `D', by analogy with `C' and `M'for copy/move (since it works the same way) - the single-file-onlydelete remains available on the Delete key. A new config variable`delete-tagged-prompt' says whether to prompt before deleting alltagged files (enabled by default). Thanks to Max Drozdoff for proddingme into action on this. :-)** BugfixesIn the very unusual case of both global and local GIF colourmaps beingpresent, they were applied in the wrong order. Thanks to Michal Svecfor spotting this.Should now support 16-bit RGB TGA files. 16-bit palette-based files*may* also work now, but are untested - it's not all that easy to findsamples of these rather unusual types of TGA file. Thanks to MichalSvec for spotting the problem.If a 32-bit mode existed without a corresponding 24-bit mode, and itwas one of the modes which are listed on the viewer right-button menu,then it was incorrectly `greyed out', i.e. made unavailable from themenu. Thanks for Dimitar Zhekov for spotting this.When using `delete-single-prompt off', it previously didn't update thescreen after the deletion. Thanks to Max Drozdoff for spotting thisone.** Other changesAdded 15/16/24/32-bit 320x240 modes. Thanks to Michal Svec forsuggesting this. Currently only the 24/32-bit mode is selectabledirectly (using `^', on the assumption that it's shift-6 - unshifted 6selects 320x240x8).Removed `--version-svgalib' option, this was causing trouble whencompiling with old versions of svgalib.* Changes in zgv 5.5** New featuresRecursive thumbnail update, ported from xzgv. This updates thumbnailsfor the current dir and all subdirs (being careful to avoid symlinkloops).The selector looks different in various ways. Most obviously, the logois gone (replaced with a sort of `title bar' with similar content toxzgv's), the scrollbar is enabled by default, and 20 thumbnails arevisible by default rather than 12 - but there are other changes, likelosing the `raised border' look in most cases, and buttons lookingroughly like they do in GTK+.GIF animation speed is now much, much more accurate; it previouslytended to run rather slowly.Now supports GIF animation with the same orientation as the normalpicture. So for example you can flip the picture, and the animationwill be of similarly flipped frames.The file info dialog (on `:') is much improved - it's now roughly thesame as the one in xzgv.Added GNU-style long-option support, and changed/reorganised configfile option names to suit this; see `Invoking zgv' in info file or`OPTIONS' in man page. Essentially things are a lot more xzgv-like now(and just about everything can be messed about with on thecommand-line). Note that most old option names are still supported inconfig files, so it shouldn't break things.Optional black background in 8-bit modes, disabled by default (use the`black-background' config file option to enable). It works by swappingthe nearest-to-black palette index with the zero index, and alteringthe in-memory image to match. This can be rather nice for consistencywith high-colour images, but means that 8-bit images which need such a`fix' will take longer to appear.** BugfixesFixed three buffer overruns. Given the nature of these, I suspect theyweren't exploitable for a DoS (i.e. leaving the console in graphicsmode), but it's difficult to be certain.More BMP fixes - thanks to Jakub Bogusz for most of these.Finally generates correct height comment for animated GIFs. (Be sureto remove any old `.xvpics' dir if you want to fix this for existingfiles.)GIF animation with zoom mode enabled no longer pointlessly clears thescreen for each frame.It previously drew entire pixel lines unnecessarily for images whichremained smaller than the screen width when scaled up.It didn't previously do the required redraw when toggling fakecols(with `F') when in 16-colour mode.No longer undraws/redraws scrollbar unnecessarily during thumbnailupdate.The progress report bar now says "Reading" rather than"Decompressing". At last. :-)** Other changesMessage boxes can now pop up over the existing viewer screen in mostcases (i.e. in any mode which is 640x480 or higher and has 256 or morecolours), using much the same approach as the mouse menu does. Thismeans that e.g. doing `:' in the viewer to get file info generallydoesn't need a mode switch any more.The old `fullsel', `hicolmodes', and `hicontrol' settings have beendropped, as they're now obsolete. You get a warning if you try to usethem.The `centre' setting can no longer be toggled on the command-line withthe `-c' option. (You can use `--centre=off' if you still want todisable this from the command-line.)* Changes in zgv 5.4** New featuresAdded equivalent of xzgv's zoom-reduce-only option, which lets youreduce big pictures in zoom mode without it also enlarging small ones.The toggle is on Alt-r, and the config file option is`zoom_reduce_only'. Thanks to Jan Blasiak for this.You can now optionally use a magic-number-based scheme to choose whichfiles to list in the selector (Alt-m toggles it, and `fsmagic' is therelevant config file option). This approach is much slower, but usefulwhen you have files lacking extensions. Thanks to Dank
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -