Changes for version 1.61 - 2017-06-24
- work around parser bug in 5.18.1 (-a).
- very simple "better than nothing" jpeg cmyk/ycck format decoding.
- use ffprobe instead of mplayer to probe video size/type.
- switch to using AnyEvent::Fork as provider for the processpool, which ought to save gobs of memory.
- much improved async communications with worker processes.
- batch expose events together, in an attempt to reduce the amount of expose races in gtk+ (does not fix scrolling races).
- create #cpu + 1 worker jobs now, not 1.5 * #cpu + 1 as before.
- better shell-quoting: use ""-style for utf-8 filenames and paste as unicode, use bash's $'' syntax for other filenames.
- no longer pass a-z from viewer to schnauzer.
- properly serialise jobs by priority, instead of executing jobs in parallel on the same path *sometimes*.
- escape select-by-prefix menu item labels.
- work around more perl unicode bugs.
- slightly improved filetype detection.
- add "cp" job for external plugins.
- work around even more perl unicode bugs that the perl5-porters don't want to fix because of backwards compatibility.
- do not stupidly load big video files into memory just to make a thumbnail.
- don't modify global $_ in aio callbacks.
- make drag-rectangle more visible.
- do not enter the last directory on the commandline, if more than one argument is specified.
- started using AnyEvent.
- space by default activates first file, or first directory, if no files (as opposed to first file or last directory in previous versions).
- fix race condition where the schnauzer might stay non-sensitive on fast directory changes.
- allow reversal of rotation via .cvrc $REVERSE_ROTATION = 1.
- delay initialisation of Gtk2::CV::Schnauzer until first use.
- fix a runtime error when starting namecluster with newer gtk's.
- do not rely on /dev/shm being world-writable, use /run/shm, /dev/shm and /tmp, in this order.
- expect mplayer to sometimes generate more than 2 frames when 1 is requested.
- tune video thumbnail generation a bit.
- more fixups for "file -i" failing.
- properly follows symlinks instead of bailing out.
- support perl multicore specification (http://perlmulticore.schmorp.de/) for jpeg loading and image transformations, although nothing takes advantage of this *yet*.
- ctrl-up/down in schnauzer tries to move name cluster cursor.
- ctrl-shift-T in image window now sets default rotation for subsequent image loads.
- ctrl-shift-G in schnauzer now removes thumbnails.
- implement j (cycle subtitle) and # (cycle audio track) in mplayer mode.
- respect load time (ctrl-shift-T) rotation setting for videos (no clue how to do that at runtime).
- print jpeg error messages to stderr.
Documentation
a fast gtk+ image viewer loosely modeled after XV
Modules
a window widget displaying an image or other media
a job queue mechanism for Gtk2::CV
plugin superclass and nonexistent documentation
a class for writing postscript files
the CV print dialog widget
a simple progress widget
a widget for displaying image collections
Provides
in lib/Gtk2/CV.pm
in lib/Gtk2/CV/Jobber.pm
in lib/Gtk2/CV/Jobber.pm
in lib/Gtk2/CV/Plugin/NameCluster.pm
in lib/Gtk2/CV/Plugin/PatRenamer.pm
in lib/Gtk2/CV/Plugin/RCluster.pm
in lib/Gtk2/CV/Schnauzer.pm