1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005
|
Fri Mar 13 12:15:21 1998 Russell Marks <rus@lifeson>
* Version 3.0.
* zgv/readpng.c: files with alpha channels should now work. (I
thought they did anyway, but it seems they didn't...!?) For now at
least, the alpha is always applied over a black background. This
may not be ideal in all cases but at least it's consistent. :-)
Tue Mar 10 11:14:54 1998 Russell Marks <rus@lifeson>
* zgv/rcfile.c: changed to use a lookup table.
* zgv/zgv.c: previously, if you started with `visual off', the
mid-grey colour was set to the tagged-file colour (i.e. red).
Fixed that.
Mon Mar 9 11:54:36 1998 Russell Marks <rus@lifeson>
* zgv/zgv.c: fixed starting-on-unreadable-dir problem. It turns
out that the root problem of which this was really a special case
(what do you do when you can't read the current directory?) is
`interesting' to fix in the general case. (After all, quitting
isn't always a good approach - it's not necessarily ideal to quit
on doing ^R in a dir which had been deleted since it was first
read...) The current approach, which seems reasonable to me at
least, is to try going to $HOME, then quitting if not even *that*
can be read.
* Added 4-bit support to the viewer, specifically 640x480
16-colour mode. (Yes, Andrew Haylett gets his wish - albeit three
years late. :-)) It's effectively an emulation of an 8-bit mode.
Defaults to dithered greyscale, but can optionally be dithered
colour.
* zgv/vgadisp.c: removed control of virtual mode - it's now always
enabled in 320x400/360x480, and can never be enabled in other
modes. This prevents possible segfaults, and makes the code a bit
less confusing. :-)
* zgv/vgadisp.c: zoom mode (for images smaller than the screen)
works more sensibly now, and is roughly twice as fast. It also
fixes an occasional segfault bug with 320x200 modes, and saves
having to do (those of a nervous disposition should look away
now...) a screen-sized malloc.
Sun Mar 8 13:36:33 1998 Russell Marks <rus@lifeson>
* zgv/zgv.c: sped up update_xvpics() a little.
Fri Mar 6 16:47:06 1998 Russell Marks <rus@lifeson>
* Fixed a couple of minor problems with the help pages.
* zgv/vgadisp.c: added support for 1152x864 and 1600x1200 modes.
You get at them by prefixing the function key (F1-F8) with tab.
* zgv/readnbkey.c: sped it up (though I doubt it'll be noticeable)
by not using huge list of strcmp's (yuck).
Thu Mar 5 04:31:39 1998 Russell Marks <rus@lifeson>
* Renamed `CHANGES' to `NEWS'.
* zgv/3deffects.c: stopped msgbox() displaying text too wide
for the screen.
* zgv/zgv.c: if you do `:' in the file selector it now reports
the full filename. Also, made "Directory of..." smaller for
bitmap fonts, it's too distracting otherwise.
* New `smallfiletext' option which reduces the size of the
filename text in the file selector. You may find this useful if
you think the text is too big :-) or if you'd like to see more of
the filename.
* Added bitmap fonts (from X, though you don't need X installed).
You can still get the old line-based font if you want, though, via
the config file setting `linetext'.
Wed Mar 4 17:38:21 1998 Russell Marks <rus@lifeson>
* zgv/helppage.c: use 256-colour mode (which is faster) if we're
using it for the file selector.
* Fixed this problem: (from old man page) "If errors occur when
zgv is loading a new file while the old file is still being
displayed, the error message appears over the top of the old
image". It now changes modes if necessary.
Wed Mar 4 00:09:46 1998 Russell Marks <rus@lifeson>
* zgv/zgv.c: sped directory reading up a little for directories
without any associated thumbnails.
Tue Mar 3 14:29:09 1998 Russell Marks <rus@lifeson>
* Updated PNG support for libpng v0.96.
* Used stdlib.h instead of malloc.h in various places (blimey, was
that ever dated :-)).
* zgv/readjpeg.c: removed pointless METHODDEF from a couple of
functions. This also avoids problems with the jpeg lib version 6a,
where `METHODDEF void' would have needed to become
`METHODDEF(void)'.
Mon Mar 2 15:33:34 1998 Russell Marks <rus@lifeson>
* It now remembers where you were in a directory if you return
to it. So if you go into a subdir then return to the parent dir,
the cursor will be on that subdir. Also added cfg file option
`forgetoldpos' to use old behaviour.
Tue Sep 16 17:14:27 1997 Russell Marks <rus@lifeson>
* doc/zgv.1: some spelling errors fixed, but there are things
spellcheckers can miss - sew eye might have mist sum. :-)
Wed May 28 04:46:57 1997 Russell Marks <rus@lifeson>
* Added `mrf' support. Mrf is a 1-bit-mono-only file format I
thought up while thinking about how you could compress such images
more effectively. For some kinds of input, it compresses better
than GIF or PNG. (I've also written PD convertors to/from PBM.)
Mon Mar 10 21:25:04 1997 Russell Marks <rus@lifeson>
* Added thumbnails for subdirs. These are made up of the first
four files in the dir squeezed together into a single thumbnail.
They're updated separately from picture files, as they're slower
to create and don't work in an `update' fashion for complicated
reasons. Create them with `d'.
Wed Feb 26 15:43:34 1997 Russell Marks <rus@lifeson>
* Version 2.8.
* Added Costa Sapuntzakis' patch for much faster generation of
jpeg thumbnails, and tweaked it a bit so you get control over what
speed/quality tradeoff to use. The original patch was about the
same as a config file setting of `jpegindexstyle 1'. I decided
(after much thought!) to wimp out and use a slower but more
accurate one than that - the default setting is 2. This is still
hugely faster than the old style (available as #3).
Sun Jan 12 00:21:42 1997 Russell Marks <rus@lifeson>
* doc/zgv.1: documented `-a' command, which I'd somehow omitted up
til now...
* zgv/zgv.c: added changes from third-party patch to v2.7 (by Adam
Radulovic). I removed the unnecessary `assert' statement. Also,
the "(!strcasecmp(anentry->d_name+l-4,".jpg+"))" added clearly
can't work, so I removed it. Finally, I used char instead of short
for xvw/xwh, as they're small enough (only <=80 needed).
Sun Nov 17 18:28:05 1996 Russell Marks <rus@lifeson>
* zgv/vgadisp.c: added lookup table to translate number/function
keys (which choose video mode) to G320x200x256-like labels rather
than assuming certain mode numbers. Hopefully this should avoid
any problems if the mode numbers are changed again.
Sat Nov 9 22:16:43 1996 Russell Marks <rus@lifeson>
* zgv/zgv.c: hacked to make VT switching under X, Emacs etc. work
under the 2.0.x kernel. It wanted a fork, and refused to honour a
VT_WAITACTIVE in svgalib's vga_setmode until I added one. setsid?
Already had that. chown? Tried it, no difference. So now it's a
bit icky, but at least it works (see man page for problems with
it). You don't want to know how hard it was to find this bug. I
mean, I only had to trace through svgalib into the f**king
kernel... :-(
Fri Sep 27 16:25:21 1996 Russell Marks <rus@lifeson>
* zgv/readpng.c: updated to work with libpng 0.81. It even works
with `hell.png' now (this took considerable hacking).
Mon Aug 19 00:01:42 1996 Russell Marks <rus@lifeson>
* zgv/zgv.c: stopped it undrawing/redrawing the "Directory of ..."
message unnecessarily in certain circumstances, such as scrolling
up/down the file list.
Sun Aug 18 16:36:20 1996 Russell Marks <rus@lifeson>
* zgv/vgadisp.c: made viewing in 15/16-bit modes a little bit
faster. It's about the same speed as for equivalent 24-bit
modes, which is a bit iffy, but as good as I can manage. :-/
* zgv/zgv.c: added support for a proper full-screen file selector,
i.e. without the logo. Toggle with 'f' or 'z', or use 'fullsel' in
config file.
* doc/zgv.1: converted 'foo' to `foo' for all occurrences.
* zgv/vgadisp.c: fixed the zoom -> scale-up problem and related
things. Added 'g' command to toggle gamma.
* doc/zgv.1: fixed various bugs. 'c' and 'n' weren't even listed -
whoops! Also expanded the BUGS section.
Thu Jun 13 14:03:08 1996 Russell Marks <rus@lifeson>
* Added '-T' option, to echo tagged files on exit.
Sun Nov 5 20:33:36 1995 Russell Marks <rus@lifeson>
* ANSIfied code. Now gets through '-Wall'. This caught a couple of
potential schroedinbugs.
Sun Sep 17 23:03:09 1995 Russell Marks <rus@lifeson>
* zgv/zgv.c: shows xvpics as their own thumbnails, and stops you
from updating thumbnails in a '.xvpics' dir. This means you can
(for example) view thumbnails on the file select scrn without
even having the files they refer to.
* New option 'showxvpicdir', if on shows any '.xvpics' dir on
file selection scrn, else doesn't, as before. Defaults to off.
(Not documented yet.)
* Now lets you load thumbnail files as images. Fairly pointless,
but someone asked for it way back when.
* Added support for NGM files. If you don't know what they are,
you don't want to know. :-)
Tue Sep 5 13:13:15 1995 Russell Marks <rus@lifeson>
* zgv/readpcx.c: now reads 4-bit (16 colour) PCX files.
* zgv/zgv.c: fixed it so updating from read-only media and DOS
partitions doesn't take so long. (Zgv should only update what it
has to, now.)
* zgv/readpcx.c: now reads mono PCX files. There's a lot of them
on the CD too. :-)
* zgv/readpcx.c: added preliminary PCX support. (I just got a CD
with some PCX clip-art on it.) Only 8-bit supported for now. Added
in just under half an hour, how's that for response time? :-)
Thu Jul 13 00:39:42 1995 Russell Marks <rus@lifeson>
* doc/zgv.1: removed spurious 'Enter'.
Mon Jun 26 18:00:54 1995 Russell Marks <rus@lifeson>
* 2.7 release version.
* Greyscale PNGs work now.
Fri Jun 23 19:18:46 1995 Russell Marks <rus@lifeson>
* The -i option now also applies to gifs.
* Slightly better detection of corrupt gifs.
* Fixed a small memory leak in gif reader when body of gif was
corrupted (it didn't free the palette).
* New -i option, 'ignores' errors in PNG files, i.e. displays what
it managed to get. Should be useful when used with -r option on
files being downloaded, esp. interlaced ones.
Thu Jun 22 16:48:59 1995 Russell Marks <rus@lifeson>
* PNG support nearly there. It does everything now, but screws up
on images with alpha channels for some reason. Handles all sample
images I've tried except 'hell.png', the bells-and-whistles one.
* Fixed memory leak; if dithering 24-bit image and image read was
aborted, previously left about 13*width bytes allocated.
Wed Jun 21 22:13:21 1995 Russell Marks <rus@lifeson>
* Got interlaced images working. It needs a bugfix to the PNG lib
though, so I'm putting PNG support on hold for now.
* Start of PNG support. Seems to work for non-interlaced images.
Thu Jun 8 00:07:34 1995 Russell Marks <rus@lifeson>
* Equivalent of -M option in rc file, as 'mouse TYPE'.
* Added correct error message for -M without a mouse type arg.
* Carsten's latest BMP stuff.
Fri Jun 2 00:05:36 1995 Russell Marks <rus@lifeson>
* Added some of gcc's warning checks to Makefile, and fixed code
appropriately. No bugs though. Wow. :-)
Fri May 19 21:04:48 1995 Russell Marks <rus@lifeson>
* Added xvpic creation/use for read-only devices/dirs etc. If
./.xvpics/foo.gif can't be used for foo.gif in /usr/local/wibble,
something like ~/.xvpics/_usr_local_wibble/foo.gif is used (if
possible). I've been told that xv does something similar, but I
couldn't see any reference to anything other than ./.xvpics in the
documentation so I made this one up myself. :-)
Mon Apr 24 07:22:10 1995 Russell Marks <rus@lifeson>
* RLE TGA files supported too (types 9 and 10).
* Uncompressed TGA file types 1 and 2 supported.
Fri Apr 14 17:19:25 1995 Russell Marks <rus@lifeson>
* Thumbnail update bug fixed.
Wed Apr 12 19:48:40 1995 Russell Marks <rus@lifeson>
* Problem with -p fixed. I hope. :-)
* Can now update thumbnails in background. It may be a while
before you get any feedback if you switch back in the middle of
resampling, say, but other than that it works fine.
Wed Mar 1 00:01:02 1995 Russell Marks <rus@lifeson>
* Added support for GIFs with local colour maps. Finally. :-)
Fri Feb 10 20:14:38 1995 Russell Marks <rus@lifeson>
* File selector bug fixed. If you pressed enter to view a file,
then used ^N or Enter to go through more than a screen's-worth of
files, then exited or reached the end of the list of picture
files, it used to try and undraw the file you started with, which
meant the screen got corrupted. And yes, I know that explanation
was impossible to follow. :-)
Thu Jan 26 22:35:16 1995 Russell Marks <rus@lifeson>
* 2.5 release version.
* Added BMP support from Carsten Engelmann
(cengelm@yacc.central.de). RLE BMPs aren't supported yet.
Sun Jan 22 04:36:24 1995 Russell Marks <rus@lifeson>
* Fixed bug related to '-p' option (fixed this a few days back, as
it happens).
* Fixed (I hope) a bug where you could end up with a
strange-looking screen after VC switching back to zgv right as
it's switching video modes.
* Can now load in background. That is, when you switch to another
VC while zgv is loading, it'll keep loading rather than suspending
until you switch back.
Wed Jan 18 00:00:34 1995 Russell Marks <rus@lifeson>
* Added patch by Edwin Fong (hffong@hk.cuhk.cs). New features are
a few smart additions to tagging and moving from viewing a picture
to the next without seeing the file selector, and mouse support.
Tue Jan 17 23:59:59 1995 Russell Marks <rus@lifeson>
* Fixed a bug (?) that caused (old versions of?) bash to log you
out after exiting zgv.
Sun Jan 15 06:10:13 1995 Russell Marks <rus@lifeson>
* Added colour support in 16-col visual selector. It's bearable,
but I think I'll leave greyscale as the default.
Thu Jan 12 21:23:57 1995 Russell Marks <rus@lifeson>
* Fixed weird automatic mode changing from 320x400 and 360x480
bug. It must have taken me nearly a year to notice that...! Zgv
was previously thinking that 360x480 as a current mode would only
hold 172800 pixels, while as a potential nearest-fit mode it
thought it could hold 720x480=345600. As such, it would choose
320x400 next time a picture was displayed if 360x480 was chosen
before, and 320x240 next time.
* Fixed 'strange colours' bug with PBM files and vkludge. The
number of colours was previously being reported as 256 colours -
this only made a difference when the vkludge option was being
used.
Thu Dec 22 12:03:07 1994 Russell Marks <rus@lifeson>
* File selector can now work in 640x480x16 mode (greyscale only)
on normal VGA cards, i.e. those where a 640x480x256 mode can't be
used. (Putting 'force16fs on' in ~/.zgvrc will force this
behaviour in all cases.) Thanks to Andrew Haylett for suggesting
this. No thanks at all to him for suggesting I support 16-colour
modes in the viewer. :-)
Mon Dec 5 00:09:03 1994 Russell Marks <rus@lifeson>
* 2.4 release version.
* zgv/zgv.c: stopped errors being reported when a corrupt file is
read during thumbnail index updating. Thanks to David Meyer for
pointing this out.
* Ctrl-P and Ctrl-N now move backward one file and forward one
file respectively. These keys work while viewing a file. The idea
is, you can skip back and forth between files easily without
needing to quit to the file selector. Thanks to Mark A. Pitcher
for suggesting this.
* Documented tagging, just about.
* zgv/zgv.c: added '.jpeg' to listed filetypes. Thanks to Alan
Shutko for pointing this out as a common alternative to '.jpg'.
Fri Dec 2 23:56:16 1994 Russell Marks <rus@lifeson>
* Removed tnpic from zgv distribution.
* zgv/usejpeg.c: Blitzed through to update to libjpeg
v5. Amazingly, it all seems to work. Duh? :-)
Wed Oct 26 00:39:26 1994 Russell Marks (rus@lifeson)
* Viewing tagged files done. Not documented yet, obviously...
* Tagging added (mostly). Now I just need to make it actually *do*
something. :-)
Tue Aug 23 03:54:26 1994 Russell Marks (rus@lifeson)
* Finished off repeat_timer stuff. See the man page - it's the
'-r' option.
* Fixed magic_ident() so it actually checks magic numbers rather
than going by filename.
Mon Aug 22 20:41:37 1994 Russell Marks (rus@lifeson)
* Fixed something in usejpeg.c which could have called fclose()
with an undefined value on aborting the viewing of a JPEG file. In
theory this means that the example.c in the IJG's JPEG software v4
has a bit of a bug...? (v4a might be fixed, though.) Quoting the
gcc info file: "If you use `longjmp', beware of automatic
variables. ANSI C says that automatic variables that are not
declared `volatile' have undefined values after a `longjmp'. And
this is all GNU CC promises to do,..."
Thu Aug 11 19:14:16 1994 Russell Marks (rus@lifeson)
* Fixed a small display bug when updating previously existing
'xvpic' files.
Wed Aug 3 01:57:35 1994 Russell Marks (rus@lifeson)
* Added a very simple kind of support for image cropping programs.
What you should do goes like this. Run something like "pnmcut `zgv
-s input.ppm` input.ppm > output.ppm", and get the section of the
image you want to crop to on the screen somehow using scaling,
mode changes, whatever; then exit. With the '-s' flag, zgv outputs
four numbers per line for each file viewed, with the command
"printf("%4d %4d %4d %4d\n",x,y,w,h);" - i.e. each number is four
characters (more if any is greater than 9,999), so you can use
'cut' to grab these numbers for any particular shell script wonder
you have in mind. This is very much a tacked-on feature, but it
was so easy to do, and so potentially useful that I decided to add
it on anyhow - despite the conflict with functional purity. :)
* Fixed it so that 'zgv -h' always goes to the original stdout.
Unfortunately, when running from a non-console zgv still VT
switches back and forth (well, forth and back) first. This is
non-trivial to fix properly, but I'll probably put in a kludge to
searches for "-h" as an element of argv[] on startup. (The problem
is all to do with throwing away root permissions at the right
time during initialisation.)
Tue Aug 2 06:13:23 1994 Russell Marks (rus@lifeson)
* Added 'gamma' mode, finally. This smooths out the 64 greyscales
possible on a standard VGA (or SVGA in 8-bit video modes) so that
it looks as though you can see more greyscales. Kind of. It's a
very subtle effect. The 'gamma' name is irrelevant I suppose, but
taken from the names of the Fractint palette files I first saw the
technique used in. (The way zgv does it isn't exactly the same,
but very similar.)
* Greyscale JPEGs now load as 8-bit, rather than the rather slow
and wasteful 24-bit (although that did mean you got 256 greyscales
in a real 24-bit mode, I don't really think that was worth it).
Tue Jul 26 00:29:25 1994 Russell Marks (rus@lifeson)
* Added 'revert' option (on by default) to reset scaling and
interpolation when a picture is loaded, as I didn't like it
retaining any scaling etc. after quitting one image and loading
another.
* Fixed stoopid bug in betterpgm mode. It didn't work before, and
now it does. Wow. :)
* Scaling around the same centre should now work ok for all cases.
Mon Jul 25 23:03:45 1994 Russell Marks (rus@lifeson)
* Made interpolated scaling about 15% faster. Still too slow.
* Interpolated scaling (actually done yesterday, forgot to log
it).
Thu Jul 21 01:30:38 1994 Russell Marks (rus@lifeson)
* Made mirror and flip much faster. Rotate is also rather quicker.
Added a reverse (anti-clockwise) rotate, on 'R' (shift+r) which
works by calling fx_rot(), then fx_mirror() and fx_flip(). This
works out being not much slower than a reversed rotate would be,
as the mirror and flip operations are pretty quick now.
Wed Jul 20 14:46:48 1994 Russell Marks (rus@lifeson)
* Documented change to /etc/zgv.conf and double-up-scaling.
* Added double-up-style scaling up and down in addition to
existing ++ and --.
* Changed /etc/system.zgvrc to /etc/zgv.conf. Still works with
/etc/system.zgvrc if ~/.zgvrc and /etc/zgv.conf aren't present,
though.
* Fixed up man page for easier editing and added 'scaling'
section.
* Added scaling (zoom really, but I can't call it that because
I've already called the 'fit to screen' function zoom). Works in
multiples of pixels, and attempts to keep the screen centred. It
isn't fast, by any means. However, it's not too bad in low-ish
res. modes like 640x480x256. Keys are 's' to scale up (up to 512x
in +1 increments - not 1x incr. as often used), 'S' to scale down,
and 'n' to return to 'normal', which cancels any scaling and also
returns from zoom (fit-to-screen) mode. Zoom and scale modes are
mutually exclusive - after all, zooming a scaled image would be
slow and pointless.
* Removed handlevt.[ch]. They haven't been used for *ages*.
* Started using Emacs' Change Log mode for entries in this file.
Versions between releases should be considered specified by the
date on the changelog entry (not that this is terribly important,
or anything).
Version 2.2e: 94/7/19
Added 'force16fs' option to config file. Zgv normally starts up in
640x480x256 mode if svgalib reports that the card can handle it. You
can now put 'force16fs on' in a config file to force 640x480x16 mode.
This is slower, but you may want to do it if the 256-colour mode is
somehow garbled or unusable, which one user mentioned on
comp.os.linux.misc a while ago. Not in docs yet.
Version 2.2d: 94/7/18
Auto VT switchback works now. Happy happy happy, joy joy joy. (ahem)
This means it's possible to run zgv from emacs, X, iScreen, etc. about
as comfortably as I can manage. If you don't want it to block, you can
bg it like 'zgv &' with no problems. Docs updated.
Version 2.2c: 94/7/17
Tried auto VT switching if not running on a console and a spare VT is
available - didn't work. :( There are at least three more important
things I'm working up to, so I diked it out again. Maybe I'll have
another go sometime. That said, you could just use 'open', and this
can be automated with an alias and shell script.
More usefully, if you do 'zgv directory_name', it'll now startup zgv
in the file selector with the current directory set as specified.
Also (finally!) added home, end, pgup and pgdn to file selector. (^a,
^e, ^u and ^v do the same.) Page up and down are a little weird, but they
work ok and do roughly what you'd expect.
Version 2.2b: 94/7/16
Might have fixed the Big Bug (tm). I found an old note I'd made about
a bug in an old version of svgalib, which led me to finding something
in zgv which could possibly have caused either a floating-point
exception or a NULL pointer dereference on machines with fewer modes
than mine (this is the important bit and explains why it didn't happen
on my machine), and is in about the same place as the bug apparently
is/was. This covers all the bases, so maybe it works now...?
Put bits in for a timeout facility with single-file mode, more on this
when I finish it (for now there's just a flag '-t' which has no effect).
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.
|