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