Subject: CVS commit: pkgsrc
To: None <pkgsrc-changes@netbsd.org>
From: Jason Beegan <jtb@netbsd.org>
List: pkgsrc-changes
Date: 04/23/2001 00:35:51
Module Name:	pkgsrc
Committed By:	jtb
Date:		Sun Apr 22 21:35:51 UTC 2001

Modified Files:
	pkgsrc/graphics/xzgv: Makefile distinfo
	pkgsrc/graphics/xzgv/patches: patch-aa patch-ab

Log Message:
Update of xzgv to 0.7.

2001-04-10  Russell Marks  <russell.marks@ntlworld.com>

	* Version 0.7.

	* src/Makefile: whoops, `-lz' was missing. I usually got away
	with this, but it did break in some cases (perhaps with Imlib
	1.9.10?). Thanks to Gabor Z. Papp for pointing this out
	(albeit, again, somewhat indirectly :-)).

	* src/mkopts.awk: there isn't any reason I can't just use stdout
	for error messages, so do that.

	* src/updatetn.c (cb_update_tn): this'll be fun to explain. :-)
	Ok... the non-recursive thumbnail update stops thumbnail reading
	before doing the update (as does the recursive one, but never mind
	that). Previously, if you pressed `u' soon enough after the
	thumbnail-read had started, and only files a long way down in a
	big directory needed new thumbnails, then you could be left with a
	mostly-blank set of thumbnails onscreen for (say) a few seconds.
	It now makes sure all thumbnails in the visible portion of the
	list are read before it starts, rather like recursive update.

	* src/backend.c: marking image as uncacheable seems to *very*
	occasionally lead to a segfault (infrequently enough that I've
	found this hard to track down), apparently due to unearthing a bug
	in Imlib1's uncacheable-image code which is (I think) never
	otherwise used. So we don't do that any more.

2001-04-09  Russell Marks  <russell.marks@ntlworld.com>

	* Added support for PRF (ported from zgv), which is basically a
	kind of extrapolated version of my old mrf format - unlike mrf,
	PRF supports greyscale and colour. Thanks to Brian Raiter for both
	devising the format, and writing the reference implementation
	readprf.c is heavily based on.

	* src/mkopts.awk: now detects running under an old awk, and
	complains about it with a pointer to config.mk.

2001-03-01  Russell Marks  <russell.marks@ntlworld.com>

	* src/main.c: toggling all tags is now possible, with Alt-o or
	Tagging/Toggle All.

	* src/main.c: you can now move to the next/previous tagged file
	with `/' and `?' respectively (or equivalent menu options). When
	used in the viewer, this also views the file.
	(init_window): moved `Tag then Next' to new viewer `Tagging' menu.

	* src/main.c: fix for redraw-related position problem. (In 0.6,
	try going to the end of the selector's list, pressing `v', then
	pressing `v' again - the row positioning is slightly wrong.)
	(init_window): added `Open' to selector `File' menu, and
	rearranged the menu slightly; moved tagging commands to `Tagging'
	menu.

2001-02-03  Russell Marks  <russell.marks@ntlworld.com>

	* src/main.c (set_title): no longer includes the version number in
	the window title, as you can get this from both `xzgv --version'
	and About on either Help menu.

	* Added help menus. Currently just runs info on the relevant node,
	but it's better than nothing I s'pose. :-)

2001-01-16  Russell Marks  <russell.marks@ntlworld.com>

	* Added choice of timestamps to use when sorting in time/date
	order - you can now choose mtime (default), ctime, or atime. You
	can switch with alt-shift-m/c/a, or from selector menu's
	Directory/Time & Date Type submenu, or with `sort-timestamp-type'
	option/config. Thanks for Wolfram Kleff for suggesting this.

	* src/main.c (viewer_key_press): you can now use shifted cursor
	keys as an alternative means of paging up/down/left/right in the
	viewer.
	(selector_key_press): any `Menu' key you might have can now be
	used to show the selector/viewer menus, just as right-clicking or
	pressing F10 does.

2000-12-28  Russell Marks  <russell.marks@ntlworld.com>

	* src/readtiff.c: didn't need to include rcfile.h.
	(read_tiff_file): previously flipped the image incorrectly.

2000-12-21  Russell Marks  <russell.marks@ntlworld.com>

	* `make install' now uses slightly more friendly Debian-ish
	permissions (755 for executable, 644 for docs).

2000-12-15  Russell Marks  <russell.marks@ntlworld.com>

	* src/readgif.c (outputstring): copied new non-recursive
	outputstring() across from zgv. No real advantage in xzgv, but
	it saves a gratuitous inconsistency at least. :-) Oh,
	actually, there is an advantage - this version shouldn't be
	hangable even with badly broken GIFs.

2000-12-14  Russell Marks  <russell.marks@ntlworld.com>

	* src/main.c (cb_selection): made toggles which could possibly
	affect the image display (in fact, did just about any which do
	GTK+ stuff) ignore the toggle attempt if currently loading an
	image. The main problem this fixes is the weirdness that used to
	happen after toggling zoom while a picture was loading
	(particularly when unzooming, and loading a `big' picture).

2000-12-13  Russell Marks  <russell.marks@ntlworld.com>

	* src/readgif.c (decompress): inittable() shouldn't have trusted
	code size to match numcols. It broke on a certain flavour of
	unusual and suboptimal, but valid, GIF with less than 256 colours
	(probably generated by a `broken' encoder). Thanks to Lenart
	Janos, Josip Rodin, and Chris Lawrence for spotting this and/or
	pushing the bug report to your friendly neighbourhood upstream
	maintainer. :-)

	* src/readjpeg.c (read_jpeg_file): sped things up a bit by reading
	in a slightly less simplistic manner, and by not doing "fancy
	upsampling" (doing this previously was the main reason why
	Imlib1's reader was faster). Combined with the change below, this
	makes native JPEG reading a teeny bit faster than Imlib1's, so
	it's now done that way for non-thumbnail use too. Also added
	`careful-jpeg' option/config, in case you want to leave it
	enabled (seems to be about a 10% slowdown).

	* src/backend.c (backend_create_image_from_data_destructively):
	now properly implemented for Imlib1. The way I've done it is
	slightly evil, but it speeds things up. ;-)

	* doc/xzgv.texi (File Type Identification): this bit could
	probably do with a rewrite, but at least it vaguely resembles
	reality now. :-)

	* src/readtiff.c: TIFF reader - uses libtiff. This means yet
	another library dependancy :-/, but enough people seem to use xzgv
	with TIFFs that it's probably worth doing properly.

2000-12-10  Russell Marks  <russell.marks@ntlworld.com>

	* src/updatetn.c (update_one_tn): now makes sure a page of
	thumbnails is visible even when doing non-recursive update -
	previously doing such an update before all thumbnails had been
	read in would show blank spots during the update (unlike the
	now-usual xzgv behaviour of loading onscreen thumbnails asap).
	This only seems to slow it down fractionally (by about 0.5% in a
	large dir full of small files in thin-rows mode), so I think it's
	worth it to get the consistency.

2000-11-24  Russell Marks  <russell.marks@ntlworld.com>

	* INSTALL: added more 0.6 success/failure reports - thanks to
	Joerg Reuter at SuSE.

	* src/main.c (viewer_key_press): whoops, I broke alt-a/u from
	viewer when I added ^a/^u - sorted that out.

	* src/backend.c: added gdk-pixbuf backend (aimed at 0.9.0).
	gdk-pixbuf doesn't quite provide everything xzgv needs, and seems
	rather slower than Imlib1 at rendering *despite* avoiding some
	unnecessary pixmap creation, so I don't see myself recommending
	use of this any time soon. Anyway, it's there if you want to try
	it. It doesn't support flip/mirror/rotate, or any
	brightness/contrast/gamma changes (I suppose I'll get around to
	these eventually, but expect them to be *slow* as gdk-pixbuf
	doesn't provide native facilities for this stuff), and doesn't
	support as many filetypes as Imlib1 (no fallback I suppose), but
	the rest is there.

2000-11-23  Russell Marks  <russell.marks@ntlworld.com>

	* src/readjpeg.c: adapted readjpegtn.c so it's usable as a normal
	JPEG reader too. Unfortunately this seems to be slower than Imlib1
	at reading JPEGs :-) (probably because creating Imlib's image from
	the RGB data involves copying it?), so it's still only used for
	thumbnails.

	* src/main.c (cb_delete_file): added `delete-single-prompt'
	option (cmdline and config file) so you can disable the y/n
	prompt when deleting a file, rather like zgv's `nodelprompt'.
	Thanks to Martin Bialasinski for suggesting this.

2000-11-21  Russell Marks  <russell.marks@ntlworld.com>

	* doc/xzgv.texi: case of chars in Alt-x and Ctrl-x forms should
	now be uniformly lowercase.
	(File Details): now mentions problem with zgv 5.0/5.1 generating
	incorrect thumbnail width/height details (5.2 is ok).

	* src/main.c: many keyboard navigation fixes/additions. Selector
	and viewer now both support ^u/^v/^a/^e as alternatives to page
	up/down and home/end. j/k in selector were fixed to behave more
	like cursor up/down do.

2000-11-20  Russell Marks  <russell.marks@ntlworld.com>

	* src/main.c: concerted attempt to nail all the remaining
	recursion problems. Now everything which even *thinks* of calling
	render_pixmap() is protected. :-) This isn't perfect though, as
	the protections are independent (do a mirror and flip at about the
	same time, and it'll mess up), so I'll need a better fix
	eventually.
	(do_gtk_stuff): this is now a LOT smarter about what to do when
	thumbnails are being loaded - fixes the bug where (while
	thumbnails were being loaded) holding down space to storm through
	N images got it very confused indeed.

	* doc/xzgv.texi (Renaming a File): it's xzgv not zgv. :-)

	* src/main.c (load_image): X windows are limited to a maximum size
	of 32767x32767 pixels, and xzgv uses a GTK+ widget based on an X
	window for its image. That's not the change, this is - previously,
	my GIF/PNG/mrf file readers failed to notice the problem larger
	images would cause, leading to a segfault - they now give an
	error.
	(cb_selection): now ensures focus is returned to selector when
	changing dir, making the pastpos action clearer when using the
	mouse (i.e. if you go down into a dir and then back up, the
	keyboard cursor will show which dir you just left). Previously, if
	you'd viewed an image before changing dir with the mouse, focus
	would have remained on the image.

	* src/updatetn.c: recursive thumbnail update no longer reads all
	thumbnails before doing updates - it now only bothers to read
	visible thumbnails. This makes the `fast-recursive-update' option
	rather less useful, as it's nearly that fast already. :-)
	(cb_update_tn_recursive_confirmed): previously didn't do pastpos
	stuff to save/restore cursor row `around' recursive update -
	fixed.

2000-11-17  Russell Marks  <russell.marks@ntlworld.com>

	* Now adapts rendering method for big images. When the number of
	pixels in the image exceeds the value set by
	image-bigness-threshold (as set in config file or on command-line,
	defaulting to 2 million pixels), it's drawn piece-by-piece on
	demand rather than all-at-once. The all-at-once behaviour is worth
	keeping around for smaller images, as it gives much nicer
	scrolling - but for big images it's just impractical, hence this
	feature.

	* src/main.c: previously, when you scaled down as far as it would
	go, it would never let you scale down again in the same way, due
	to breaking an anti-recursion measure. Fixed that.

2000-11-16  Russell Marks  <russell.marks@ntlworld.com>

	* src/backend.c: wrapper for rendering backend. This is now (apart
	from the Makefile) the only place with any Imlib1 dependence, so
	this should make it easier (or rather, slightly less than
	infinitely hard :-)) to switch backends if I decide to do that, or
	to support multiple backends (choosing backend at compile time).

2000-11-11  Russell Marks  <russell.marks@ntlworld.com>

	* doc/Makefile: replaced ifeq/ifneq with shell equivalent, which
	turns out to be sufficient (if uglier). This should avoid the need
	to use GNU make. Thanks to Frank Pohl for spotting this problem.

2000-11-07  Russell Marks  <russell.marks@ntlworld.com>

	* Changed `install -m' invocations to do plain install and change
	permissions after (with chmod). Thanks to Steven Bankowitz for
	reminding me of `-m' being a problem on things like Solaris.

2000-10-29  Russell Marks  <russell.marks@ntlworld.com>

	* src/main.c (init_window): as must be traditional by now, I found
	a bug almost immediately after the release. :-) Quite a minor one,
	thankfully. Previously you could still toggle thin-rows while
	running in the `xzgv file(s)' way, which was silly and made things
	look strange. Harmless, but fixed now.


To generate a diff of this commit:
cvs rdiff -r1.4 -r1.5 pkgsrc/graphics/xzgv/Makefile
cvs rdiff -r1.2 -r1.3 pkgsrc/graphics/xzgv/distinfo
cvs rdiff -r1.1.1.1 -r1.2 pkgsrc/graphics/xzgv/patches/patch-aa \
    pkgsrc/graphics/xzgv/patches/patch-ab

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.