Version 2.2a: 94/5/4

Added progress report while updating xvpics, progress report while loading
file given on cmdline and cmdline option/config file option to turn it off,
and changed zgv so the text screen is no longer cleared unless the
'cleartext' option is set. Fixed bug with creating .xvpics directory and
error reporting for cases where you have no permission to create the
directory, but it already exists.

Fixed a bug in the delete routine. Nothing too nasty - if you had a file
which you weren't permitted to delete, but had an 'xvpic' index for it which
you *were* permitted to delete, the 'xvpic' would be deleted despite you
getting a message saying 'you can't delete that file'. In the alternate
case, i.e. the 'xvpic' is unremovable, I've left the code such that the
error is ignored and the real file is removed, as I think it's the Right
Thing to do.


Version 2.2: 94/5/3

No changes other than the version number. This is the 2.2 release version.


Version 2.1g: 94/5/3

Bug with vkludge for <256 colour pictures NAILED TO THE WALL, *FINALLY*!
(This one has been eluding me for about a year.)

Fixed bug with 'junk on right-hand side' in (most? all?) standard VGA modes.
Thanks to Harm Hanemaayer for pointing me in the right direction on this
one.

'perfectindex' documented and 'visual selector' section in man page
extended.


Version 2.1f: 94/5/2

Icons added for dirs/unindexed files, and update updates only when needed
(judging from whether index file exists or not, otherwise from modification
times obtained via stat()). Man page and other docs updated.


Version 2.1e: 94/5/2

Zgv now supports 'xv' format thumbnail files - i.e. it views them together
with filenames on the file selector, and creates them if asked to. The files
created by zgv are compatible with xv (wow, how did that happen? :) ). Now
if someone would just care to explain how that took me EIGHT HOURS to do...
feels like it too, I need some sleep. [4:17am, and all's well.] Answers on a
postcard please.

Also fixed obscure bug in 'zoom' mode, another obscure bug in PPM dithering,
and updated delete to deal with deleting appropriate .xvpics file and
directory if reqd.

Man page update for .xvpics stuff pending.


Version 2.1d: 94/5/1

Added 'hicolmodes' entry in .zgvrc file. This is to force high-colour modes
if your card - for example - has a 640x480 high-colour mode, but no 320x200
high-colour mode. This is definitely a kludge, but it's very tricky/awkward
to fix properly.


Version 2.1c: 94/4/26

Added file deletion to file selector. Still no move/copy yet. Updated man
page to show cmdline options. TeX file will get updated sometime else
(maybe).


Version 2.1b: 94/4/25

Added a few command-line options for zoom, startup mode, etc. [docs not
updated yet.]

Zgv now opens /dev/tty instead of /dev/tty0 (like svgalib, as of v1.07).

Bugfixes:

in v2.1, tnpic often segfaulted when loading JPEG files due to a change in
the JPEG reading routine which I forgot to allow for in tnpic.c (blush).

Zgv segfaulted when trying to load a file which didn't exist - this has been
fixed. It wasn't the canonical dumb segfault bug, it was to do with files
not ending in {.gif,.jpg} being loaded as PNM files, and free() trying to
deallocate a random pointer (two, in fact) when that couldn't load the file.
Oops.

fixed bug on file select screen to do with moving a file or two with the
cursor on an entry past the new number of files (if you see what I mean),
where it previously didn't redraw.

fixed typo in aborted_file_cleanup() which caused nasty transient bugs.


Version 2.1a: 94/4/13

Now allow uppercase .GIF, JPG, etc. Added /dev/tty0 fix to Makefiles and
comment in README. This is the 2.1 release version.


Version 2.1: 94/4/12

Dithering for PPMs done, plus cfg.betterpgm added.


Version 2.0d: 94/4/11

More documentation overhauling. Can't be bothered with any more. Dithering
for PPMs for 8-bit displays next... (sigh).


Version 2.0c: 94/4/10

Done PNM support, block cursor, thicker text (kind of). Bugfix for
'directory of' line growing too long. Some doc. updates, still need to check
TeX file, READMEs and update man page.


Version 2.0b: 94/4/9

Added centering of pictures. Thanks to Paul Stoat for that idea, and a few
others I'll be hacking away at. This version includes the two bugfixes
mentioned in my post to c.o.l.m a while back.


Version 2.0a: 28/2/94

Dammit! I knew I'd missed something. Put in an option for tnpic so you can
alter the output JPEG's quality level.

Noticed that Harm fixed the svgalib bug. Cool.


Version 2.0: 26/2/94

Blitzed through everything I meant to change. Implemented the new idea for
8/24-bit mode workings. Put in support for 'zgv filename' (only one file
though). Missed one thing - no PPM support yet. :( I'll get round to that
for 2.1, I guess.

I translated the zgv winword doc. to TeX a while back, but forgot to
document it. Lots of changes to that, obviously.


Version 1.31b: 19/12/93

Workaround for bug (?) in svgalib 0.97 that causes a non-clear screen on
changing between some modes (seems to be mode X VGA to SVGA on a Cirrus, at
least). Fix involves, uh, clearing the screen afterwards. :)


Version 1.31a: 24/11/93 

Zgv now has proper .rc file handling. Documented this in zgv manpage. Uses
$HOME/.zgvrc, or /etc/system.zgvrc if not found. Added PS version of the
manpage to documentation. Updates to the real PS documentation (i.e. the
winword doc) still pending for this version and the last.


Version 1.31: 19/11/93

Fixed zgv so that filenames longer than it can fit into the column size it
uses on the file selection screen are truncated and have a "..." appended to
them. It errs on the side of caution a bit, so some filenames which could
have fit into the column will be truncated anyway, but it's a lot better
than before.


Version 1.3: 26/10/93

Finally got over the flu, and corrected bits of the documentation.
Nailed this down as 1.3 since it'll never happen otherwise.


Version 1.27: 9/10/93

Svgalib support, but not fully. Only 256-colour SVGA modes are really
supported. This'll have to do for a while, because getting 16 and 24-bit
colour modes supported is... non-trivial. (See 24bit.txt for a discussion of
why, and when you can expect support for them.) VGAlib patch for 320x480
mode removed.

PostScript removed (it wasn't working, and was pretty broken to begin with).


Version 1.26h: 28/9/93

^Z (SIGTSTP) support added. Actually, directly raising a SIGTSTP (e.g. kill
-SIGTSTP <pid>) shouldn't work, but it does anyway. Cool! (Probably VGAlib
or just good old Linux sorting this out for me.) I've also developed a
keyboard LED flash alarm program separately (I mention using something along
these lines in TO-DO), but I can't think of a way of implementing the 'you
can switch VCs while it's decompressing, but if you haven't switched back by
the time I've finished with the decompression, I flash the numlock light on
your current VC' idea that isn't totally gross. Also, passing around a
pointer to a function that'll redraw the screen if you switch back *before*
it's finished is a bit gross too. Aaaaragrrggrhhhh. :( x 2^UINT_MAX. I think
we all know the line by now; "it'll be there in the next version" (ho ho).


Version 1.26g: 26/9/93

GIF and JPEG error reporting now works in zgv, gifview and even tnpic. Whoa,
how wonderfully amazing, etc. The JPEG error problems were simply because I
was resetting everything to defaults after I'd put my own routines in place.
(blush) Well it was hard to spot, ok!? Slight problem still, if gifview gets
a JPEG error, it tries to draw the message box in graphics mode while it's
still in text mode. All that happens is that it waits for you to press enter
or esc, but it's a bit gross. I'll fix that soon. Note that now all JPEG
errors are fatal. I might change this so that corrupt data errors which the
JPEG lib regards as non-fatal really aren't fatal, and give you a choice of
whether to continue or not. This is fairly awkward though, and I've more
important things such as command-line args to add, and stuff. (So there.)
Then again, I probably won't get around to any of it all that soon. :(

Three versions in the same day? I think I'm beginning to get the hang of
this again...  The really difficult thing is keeping the documentation up to
date!


Version 1.26f: 26/9/93

GIF error reporting now works fully, and reports which error happened. There
was one mind-bogglingly hard-to-spot bug which (sometimes) seemed to lock it
up, because I didn't properly initialise some arrays I use for
decompression. Nasty. Anyhow, it's all fine now. JPEG still as screwy as
ever - it works, but bombs out on an error. 

Online keys help for file selection screen added. 


Version 1.26e: 26/9/93

Can now VC switch on the file display screen (still not on the file
selection screen while decompressing, though). Made the keyboard reading
routine a bit more general and less messy.

Vi keys can now be used, so now kjhl = qaop. This means that the help key
for the file display screen has moved to '?'. The brightness controls are no
longer 'k' and 'l', but have moved to '<' and '>'.  


Version 1.26d: 25/9/93

Temporary fix to the JPEG error reporting problem. (It used the default
handler, and did an exit() which left you in graphics mode.) I use atexit()
to make sure you get put back in text mode on an exit(). This isn't great,
but it should tide us over until I can work out exactly what's *really*
going on. Besides, there's a whole load of other things I've got to do
before I can nail it down as 1.3. 

Only quits when Esc is really pressed, rather than when you press a key
which initially *looks* like Esc and which isn't used - such as, say, End or
Home. The file display screen was ok, but I've put the fix in anyway since
I'll be putting VC switching in that bit soon (which caused the problem on
the file selection screen).


Version 1.26c: 25/9/93

Added a patch to vgalib to substitute a (more useful, IMHO) 320x480 mode for
the usual 320x400. Changed zgv to use 320x480 rather than 360x480 as default
mode.


Version 1.26b: 24/9/93

PostScript support added. :) Well, sort of. Since ghostscript outputs gif
format if you ask it to, it was too good to miss. Zgv simply builds the
relevant command line, and views a (temporary) gif of the page, mostly using
defaults. Obviously, you need ghostscript for this. My handling of it is so
simple that only the first page of the PS file is shown - bit of a problem
if there are several pages. I might leave this as is though, because it's
perverse enough to use a gif viewer to view one-page PS files, let alone
whole documents! 

You can forget me fixing the error handling stuff for a while yet. It still
seems to be using the default handler, and I don't understand why. Oh well.  


Version 1.26a: 23/9/93

Fixed the bug with, well, what I *thought* was zooming a pic in 640x480x16
mode. It was actually a bug that caused a segfault whenever you tried to
zoom a pic which was exactly the height of the current screen mode, although
there may have been other times when it could have happened. Anyway, it was
easy to fix. Should get around to error handling stuff soon.


Version 1.26: 23/9/93

Ok, I was wrong, I've got Linux again now (installed it last night), thanks
to Graham/Paddy/Carl, and presumably Paul since they're his disks. Fixed the
bug with monochrome JPEGs. Not only does it not hang and leave you in
graphics mode, it even *works* now! :) Errors *still* seem to be reported by
the default handler, and not my own. I'll work on this again as soon as I go
through the other pending bugs.  


Version 1.25a: 7/9/93

Documentation corrected (my id isn't mr1cy2, for example). If you're
wondering why I haven't done anything to zgv for over two months, my Linux
partition(s) fell apart badly and I didn't have any backup or installation
disks (well, I did have some backup, but not the stuff that went wrong, like
gcc and some other stuff). All the source was ok, though (phew). There'll be
no more development until Oct. 4 at the earliest, and 1.3 won't be uploaded
until around mid to late Oct (pretty pointless saying that sort of thing,
considering nobody'll read this until then...). The only way to get Linux
again until I get back to Uni costs fifty pounds, although I did see a
classified ad. which was offering part of it including gcc for about ten...
but I suppose I might as well wait and get it free (which it is, after
all!). Ho hum. 


Version 1.25: 20/6/93

Error handling in zgv now works ok for GIF files. Still problems with JPEGs,
though. Since a 'thumbnail mode' would have been pretty unusable, I've
written a separate program (called tnpic) which creates thumbnails of
specified GIF/JPEG files and saves them as one JPEG file. Although this is a
program unto itself in many respects, it uses much of the same code as zgv,
so any changes will be covered here. Tnpic isn't all that fast - it uses an
adapted version of the 'zoom' code from zgv with the 'vkludge' option on.
The thumbnails can look a bit smudgy, but are generally ok.


Version 1.24: 15/6/93

Now have config information saved to $HOME/.zgvrc file. It's a bit crude at
the moment, but it's intended to only be written by pressing 's' at the zgv
file selector screen when you've got the config as you want it. Tried some
testing of speed to see if a 'thumbnail mode' option such as Graphic
Workshop for Windows has would be feasible. No way. The screen redraw
*crawls*. 

Note that if you compile zgv with VGAlib 1.2, and edit the $HOME/.zgvrc file
to read 'm=10' instead of 'm=8' or whatever, you can use the ET4000 modes
(you'll probably want to do 's=n' instead of 's=y' as well). ET4000 support
is so easy since VGAlib already has it that I promise I'll do this properly
soon (even if I can't test it). 


Version 1.23: 13/6/93

Virtual console switching working, up to a point - you need to use just the
function key, without Alt. Only works on the file selector screen, not when
viewing a picture. Also doesn't work when waiting for a picture to load.
Couldn't get the VT_PROCESS technique working, it stayed in graphics mode,
even when I tried the mode changing outside the signal handler. Thanks to
Robert Sanders <gt8134b@prism.gatech.edu> for the idea to support VCs, and
suggesting where to look. Hopefully I'll get it working a bit more nicely in
the future.  


Version 1.22: 12/6/93

Latent bug regarding the 'stoprightnow' flag in the GIF decoder fixed. (This
only seemed to affect files generated by Graphic Workshop for DOS, but there
may have been others.)  Put in a bitmap logo. Bit pointless really!


Version 1.21: 10/6/93

Simplistic resampling for zoom - extension of 'virtual mode kludge' option.
Bit slow, but looks good. Can make pictures a bit smudgy.


Version 1.2: 9/6/93

Zgv's file selector runs in graphics mode. Why? Well it looks a lot nicer.
Not much of a reason apart from that. Cursor keys work now, in both
programs. Erm, that's about it really. I must get around to the other stuff
some time.  


Version 1.1: 29/5/93

Code restructured to make updating a little less impossible. This process is
alas still not complete (sigh). 

Zgv uses the GIF decoding engine and JPEG software directly rather than
running gifview or djpeg. Gifview also interfaces directly to the JPEG
library, since zgv and gifview share the display/decoding code.

Zgv uses bar to indicate how much of the GIF/JPEG has loaded, and gifview now
uses a percentage rather than the number of lines.

Both now support interlaced GIFs.

Zgv remembers video mode used for previous picture, and uses it again if
appropriate.

Contrast/brightness controls are a little more sane.


Version 1.0: 10/5/93

Gifview hacked up from giftekc, a GIF viewer I wrote for Tektronix 4200
series terminals. Zgv, a curses-using front-end which runs gifview also put
together. Gifview does 'system("djpeg -gif ...");' and reads the resulting
GIF file to read JPEG files. But it does all work.  
