1Revision History 2---------------- 3 4XV 3.10a bug-fix release 12/29/94 5---------------------------------- 6Bug Fix: Problems loading JPEG files in 8-bit mode on some systems. 7 (Rick Richardson (rick@digibd.com)) 8 (Chad R. Larson (chad@anasazi.com)) 9 10Bug Fix: Added '-pkludge' command line option and 'popupKludge' boolean 11 resource. If true, selects the 'old-style' pop-up window positioning 12 code. The various popup windows should appear with the Ok button 13 (or whatever) centered around the cursor. If the windows routinely 14 pop up slightly off-center from the cursor, try turning this on. 15 16Bug Fix: '3' and 'Q' characters in the Text Annotation character set were 17 boogered up... (Sidik Isani (si@acpub.duke.edu)) 18 19Bug Fix: '-iconic' option wasn't working. 20 (David Pesetsky (iedsp@agt.gmeds.com)) 21 22Bug Fix: Didn't properly read greyscale RLE files. 23 (Robert Cunningham (rkc@xn.ll.mit.edu)) 24 25Bug Fix: 'AutoCrop' on 24-bit images could produce 0x0 images. A problem! 26 (Leon Shaner (leon@mtu.edu)) 27 28Bug Fix: GIF reader would blow up if there were multiple comments. 29 (Markus Gyger (mgyger@itr.ch)) 30 31Bug Fix: Behavior under virtual window managers may be improved. 32 (steveg@pa.dec.com) 33 34Enhancement: Text in 'temperature gauge' (during slow operations) is now 35 XOR'd on, so it isn't obscured by the filled area of the gauge. 36 (Jerry Whelan (jerryw@bnl.gov)) 37 38Enhancement: man page for vdcomp written 39 (James Ralston Crawford (qralston+@pitt.edu)) 40 41Enhancement: PCX code can now read 24-bit PCX files. 42 (Dave Cohrs (cohrs@legato.com)) 43 44Portability: Patch for Linux (David Hankins (dhankins@oz.net)) 45 46Portability: Patches for ISC 4.0 Interactive/SunSoft Unix 47 (Jack Bailey (jjb@jagware.bcc.com)) 48 49Portability: Compiler noise (from Sun's Professional C compiler) cleaned up. 50 (John Fritz (jfritz@bpo-ess.ceco.com)) 51 52Portability: Many nits picked by Pyramid compiler 53 (Chad R. Larson (chad@anasazi.com)) 54 55Portability: Some malloc's in xvfits.c needed casting. 56 (Bill Silvert (sysop@biome.bio.ns.ca)) 57 58Portability: Further VMS problems solved. 59 (Rick Dyson (dyson@sunfish.physics.uiowa.edu)) 60 61Portability: select() on HP-UX 9.x expects (int *) instead of (fd_set *) 62 (Richard Allen (ra@os.is)) 63 64Portability: Removed 'const' from second parameter in decl. for decode_run() 65 in tif_fax3.c. (Glenn Spargo (gspargo@ctron.com)) 66 67Portability: Added 'fcntl.h' to xv.h, as some systems may not have O_RDONLY 68 declared elsewhere. (Mitchell Blank (blankm@cae.wisc.edu)) 69 70Portability: Font selection strings in xv.c didn't have enough '*'s in them. 71 Would fail on some X servers. 72 (Rick Richardson (rick@digibd.com)) 73 74Second XV 3.10 Public Release 12/22/94 75---------------------------------------- 76Bug Fix: Make_xv.com in vms directory wouldn't build xvxpm.c or xvfits.c 77 (and thus, XV!) (Rick Dyson (dyson@sunfish.Physics.UIowa.Edu)) 78 79 80Initial XV 3.10 Public Release 12/21/94 81---------------------------------------- 82Bug Fix: Greyscale downsampling bug in JPEG code fixed. 83 (Tom Lane (tgl@sss.pgh.pa.us)) 84 85Enhancement: Made Grab command trap 'BadMatch' errors and display an 86 appropriate error message (rather than exiting with a fatal error). 87 (Eric Demerling (x450b05@rdsrv2.goodyear.com)) 88 89Enhancement: Cleaned up/reorganized Makefile 90 (Tom Lane (tgl@sss.pgh.pa.us)) 91 92Portability: BSDI doesn't have malloc.h. Fixed xv.h and vdcomp.c 93 (Chris Ross (cross@eng.umd.edu)) 94 95Bug Fix: Additional VMS schnauzer fixes. 96 (Rick Dyson (dyson@sunfish.Physics.UIowa.Edu)) 97 98 99Second XV 3.10 Beta Release 100---------------------------- 101Portability: xvxpm.c module rewritten to include its own hash-table 102 routines, as 'hsearch()' is not available on all systems. 103 (Chris Ross (cross@eng.umd.edu)) 104 105Bug Fix: Big stupid mistake in xvtiff.c module. Too embarrassing to mention. 106 (Michael Weller (eowmob@exp-math.uni-essen.de)) 107 108Bug Fix: failing to store clipboard contents in an X property was 109 (incorrectly) exiting the program as a fatal error, rather than 110 falling back to using a '.xvclip' file in your home directory. 111 (Eric Demerling (x450b05@rdsrv2.goodyear.com)) 112 113Docs: Mentioned 'FITS' format, removed claim that rotate 90-degree commands 114 will rotate selected area, added additional credits. 115 116Bug Fix: Cleaned up xvxpm.c - potential for infinite loops on broken 117 images. Also, now handles 'None' better, and mentions when it can't 118 parse colorspecs. 119 120Bug Fix: When viewing large images, a rotate may not have properly redrawn 121 the image. Also, it could lose the proper aspect ratio. 122 (Michael Weller (eowmob@exp-math.uni-essen.de)) 123 124Bug Fix: 'Expansion' and 'Resolution' fields in xv info window weren't 125 getting updated when image was rotated. 126 127Bug Fix: If you were in Perfect or OwnCmap color modes, and switched to a 128 root display mode, it didn't (correctly) switch to Normal colors. 129 (Michael Weller (eowmob@exp-math.uni-essen.de)) 130 131Added Feature: XV can now read and write greyscale FITS images 132 (David Robinson (drtr@mail.ast.cam.ac.uk)) 133 134Enhancement: XV can now read old Windows and OS/2 BMP files 135 (Eric Dumas (dumas@daubasse.emi.u-bordeaux.fr)) 136 137Portability: now uses the Dec 8 re-release of IJG jpeg software (ver. 5a) 138 (Tom Lane (tgl@sss.pgh.pa.us)) 139 140Portability: need to include <sys/select.h> on aix systems ('_AIX') 141 (Eric Demerling (x450b05@rdsrv2.goodyear.com)) 142 143Portability: NetBSD objects to 'extern char *sys_errlist[];' 144 (Chris Ross (cross@eng.umd.edu)) 145 146Portability: CBSIZE (in xvbutt.c) is defined on some systems in param.h. 147 Changed to XVCBSIZE. (Chris Ross (cross@eng.umd.edu)) 148 149Portability: 'Makefile' in TIFF directory assumed 'ar' lived in /bin. This 150 isn't necessarily so. It'll now just search the path. 151 (Michael Weller (eowmob@exp-math.uni-essen.de)) 152 153Bug Fix: recursive update on VMS didn't work right 154 (Rick Dyson (dyson@sunfish.physics.uiowa.edu)) 155 156 157Initial XV 3.10 Beta Release 158---------------------------- 159Added Feature: XV now comes with 'xvpictoppm' program, which reads XV 160 thumbnail files and converts them to standard PPM format. 161 162Added Feature: XV can now read the XWD format. Whether or not this will 163 still be an issue, given the whizzo new 'Grab' command, I don't 164 know. XV does *not* write XWD files, as XWD is not a format to be 165 encouraged. (Markus Baur (mbaur@ira.uka.de)) 166 167Bug Fix: 'xv -poll -root <filename>' would thrash wildly if the file didn't 168 exist, or wasn't loadable. Now behaves better. 169 170Added Feature: 'Recursive Update' command in visual schnauzer. Does an 171 'update' command in the current directory, and recursively down into 172 all subdirectories. Keyboard Equivalent: ^e 173 174Bug Fix: Potential problem when allocating colors for std colormap. 175 (Yasuhiro Imoto (tomo@sonytek.co.jp)) 176 177Bug Fix: Cropping a large area while zoomed in could result in enormous, 178 potentially off-screen images. A bad thing. 179 180Added Feature: Added a 'Select Files' command in the visual schnauzer, 181 which lets you select files by name. The wildcard character '*' 182 (which matches any arbitrary char sequence) is supported. This 183 gives you an easy way to select all the JPEG files ('*.jpg'), for 184 example. Keyboard Equiv: ^f 185 186Bug Fix: Added support for 15-bit-per-pixel displays, and probably fixed 187 support for 15/16-bit LSBFirst displays. At least on 80x86-based 188 machines, which is where nearly all 15/16-bit displays have to be. 189 (Michael Weller (eowmob@exp-math.uni-essen.de)) 190 191Bug Fix: Somewhere along the line, the file name list (in the controls window) 192 was getting redrawn at least one time too many, when you loaded 193 files from the schnauzer. 194 195Added Feature: Added a 'despeckle' algorithm (median filter). 196 (Colin Plumb (colin@nyx10.cs.du.edu)) 197 198Added Feature: XV now can read and write the XPM format. It can read XPM 199 images with any number of colors, though it only writes XPM images 200 with a maximum of 256 colors. (If your image has more than 256 201 colors, it is automatically quantized.) While the XPM format lets 202 you do arbitrary-depth images, it's not really well suited for 203 images with more than a small number of colors, so the 256 color 204 limitation shouldn't be a big problem. 205 (Chris P. Ross (cross@eng.umd.edu)) 206 207Added Feature: Added a 'Origin' button the the 'Save Postscript...' window. 208 Positions the image aligned at the bottom-left corner of the page, 209 which is the origin (0,0) in the Postscript world. May make certain 210 desktop-publishing operations easier if you're using XV to generate 211 EPS files for incorporation into page-layout software. 212 (Michael Lipscomb (lipscomb@vision1.engr.utk.edu)) 213 214Enhancement: Added 'xv.pspaper', 'xv.psorient', and 'xv.psres' options to 215 set default behavior in the 'Save Postscript..." window. 216 217 pspaper sets the default paper type, and can be any of the following: 218 8.5x11 A4 B5 A3 8.5x14 11x17 4x5 35mm 219 220 psorient sets the default paper orientation, can can be either 221 'portrait' or 'landscape' 222 223 psres sets the default resolution (dpi) and can be an integer 224 between 10 and 720, though not all values are attainable, as the 225 resolution is controlled by the 'scale' dials, which must take on 226 integral values. All the common resolutions are available, however 227 (72dpi, 75dpi, 100dpi, 300dpi, 600dpi, etc.) 228 229 230Added Feature: Added a '-nodecor' option (and boolean 'xv.nodecor' resource) 231 that lets you turn off the window 'decorations' (title bar, menu box, 232 minimize and maximize buttons) on the XV image window, in MWM. 233 When these things are on (by default), the prevent the image window 234 from being made smaller than some MWM-specified minimum width, which 235 can be a real pain when working with tiny (< 100 pixels wide) images. 236 Turning this option on disables these decorations, and lets the image 237 window be any size whatsoever. (This only works for MWM. TWM doesn't 238 have this problem, and OLWM doesn't appear capable of doing this 239 on the fly, on a per-window basis. For OLWM, use the 240 'owlm.MinimalDecor: xv' resource. Note this affects *all* xv windows.) 241 242Bug Fix: Input focus wasn't working out correctly under OLWM. 243 244Bug Fix: "-rotate" command line option was only applied to the first image 245 loaded. (Osama (neiroukh@vision1.engr.utk.edu)) 246 247Enhancement: The 'slow' 24->8 algorithm now uses code derived from the IJG 248 jpeg distribution, which is a considerably better implementation of 249 the median-cut algorithm than XV was using before. 250 251Enhancement: Version 5 of the jpeg library (which XV now uses) supports 252 a quick image subsampling 'thing' which XV now uses when generating 253 Visual Schnauzer icons. Practical upshot: creating icons from jpeg 254 files is now many times faster. 255 256Bug Fix: 'xv -hist -expand <x>' would crash. Doesn't do that any more. 257 (Ulf Cahn von Seelen (cahn@grip.cis.upenn.edu)) 258 259Enhancment: XV can now read 16-bit per pixel 'raw' PGM and PPM files. 260 (David A. Clunie (dclunie@flash.us.com)) 261 262Enhancment: In the Schnauzer, if you hold 'shift' while hitting the spacebar, 263 it will select (and load) the next file, while keeping the previous 264 file selected. This lets you (somewhat more easily) build groups 265 of files to be moved or deleted, as you can just hold shift, and 266 space your way through all the files. Shift click to de-select 267 files that should be skipped. 268 269Added Feature: Added an 'annotate' command that lets you put text on an 270 image. Keyboard Equivalent: 'A'. To use it, select a drawing color 271 using the 'dropper' (middle click on image), and press the 'A' button. 272 Enter a string and hit Ok (or return). If there is a current 273 selection, the text will be scaled to fit the selection. Otherwise, 274 a selection box the size of the text will be created in the middle 275 of the image window. In this case, position and resize the selection, 276 as you see fit, and issue a 'Paste' command (meta-v) to place the 277 text on the image. Note: if you want to change the color of the 278 text, choose a new color and do the annotate command again. 279 280 It's somewhat awkward, but it's time for a new release. It'll probably 281 get polished in the next release... 282 283Change: 'AutoCrop' keyboard equivalent is now 'C' instead of 'A'. 284 285Added Feature: Added 'smudging'. Shift-right click (and drag) on the 286 image (it's best if you zoom in first), and you can do a localized 287 blur around the cursor. Note that this only works on 24-bit images. 288 If the current image is a 8 bits deep, it will be converted into 289 a 24-bit image first, automagically. 290 291Added Feature: Added rudimentary image painting. You can now paint 292 arbitrary curves (or straight lines) by doing a shift-middle click 293 (and drag) on the image window. The pen will draw in whatever the 294 last color picked up by the 'dropper' (middle click on image) was, 295 (just like the 'clear' command). Shift-middle will draw curves. 296 Shift-ctrl-middle will draw a connected series of line segments. 297 Release and press ctrl to draw unconnected line segments. 298 299 Note: there's no direct way to paint in any arbitrary color. The paint 300 color must exist in the image *first*. One way of adding colors to 301 an image is via the 'Pad' command. Try padding with 'bggen', using 302 the 'Color Assortment' default to get a reasonable collection of 303 different colors added to the image. Later you can pad the image 304 back to its original size to get rid of the colorful borders. BE SURE 305 to switch to 24-bit first... 306 307Change: Changed 'Standard Colormap' (used whenever viewing 24-bit images on 308 a non-TrueColor/DirectColor display) from a 6*6*6 colormap to a 4*8*4 309 colormap. It uses fewer colors (128 instead of 216), and produces 310 better looking images (as the 2 extra green values more than make up 311 for the 2 fewer red and blue values). It also looks somewhat better 312 when you use '-stdcmap' with '+vsperfect' (ie, have the schnauzer 313 share the stdcmap), as the 4*8*4 maps closer to the 8*8*4 used 314 internally by the schnauzer than the 6*6*6 did. 315 316Enhancement: Added a 'trashcan' to the Visual Schnauzer. You can now (also) 317 delete files by dragging them to a trashcan. You'll be asked for 318 confirmation, the same as the 'Delete' command. 319 320Change: 'unknown' files in the browser are now shown as 'plain' files. 321 322Change: Moved a couple of keyboard equivs. 'p' now pops up the 'go to page' 323 dialog (when viewing a multi-page document) (was ^P). 324 ^P is the keyboard equiv for the Print command. 325 Meta-a is the keyboard equiv for the Apply command (in the color 326 editor). (was ^P) 327 328Added Feature: Added a 'Print' command. ("Finally!", I hear many of you 329 saying.) Keyboard equiv '^P'. Quicker and easier to use than 330 the previous method (ie, saving PostScript to "| lpr"), even though 331 that's how it still does the trick. Much more intuitive for 332 Joe User, who wouldn't know a pipe if you hit him over the head with 333 one... 334 335Enhancement: When tracking pixel values (dragging the middle button 336 around on the image window), it now displays the distance of the 337 current point from where you originally clicked in a pair of 338 square brackets (ie, '[ -5, 37]') at the end of the line. Handy 339 for measuring image features. 340 341Bug Fix: XV now supports both the 'cut buffer' and the 'selection' methods 342 of doing text cut-and-paste. (ie, the 'CutRes' command, and 343 tracking pixel values). Prior to this, pasting either of those 344 things into an xterm may or may not have worked, depending on 345 whether another xterm had a current selection. 346 347Bug Fix: (Sort of). Now that XV tries to grab a good visual, rather than 348 just using the default, it may now pick a 24-bit visual on machines 349 where the root window can only hold an 8-bit image. In these cases, 350 it will disable the 'root' choices, unless you start XV with 351 the '-root' option, in which case it will choose a root-compatible 352 visual. Not optimal, but better than it was... 353 354Enhancement: XV now displays a 'working' icon when the image window (or 355 the control window, if there is no image window) is iconified and 356 XV is in the middle of a long operation (smoothing, loading a jpeg, 357 running an algorithm, etc.) The icon changes back to the normal 358 icon when the operation completes. 359 (Idea: Bob Boag <BOAG@marshall.wvnet.edu>) 360 361Enhancement: It now displays what mode (8-bit or 24-bit) it's currently 362 in, in the controls window and the info window. 363 364Added Feature: Changed PadImage command to allow 'blended padding' (ie, 365 not-fully-opaque), in several modes (RGB, Hue, Sat., Int.,). 366 In the HSV modes, it only pastes/blends the specified component 367 of the background fill. You can get a variety of weird effects. 368 Ferinstance, take a grayscale pic, and pad it with a bggen'd 369 RGB rainbow, using Hue mode and Opaque=0. 370 371Added Feature: Added a 'Smear' algorithm. Keyboard equiv 'meta-S'. 372 373Added Feature: Added a 'Sharpen' algorithm. Keyboard equiv 'meta-s'. 374 375Bug Fix: Substantially improved performance on DirectColor displays. 376 (Read: 'it works at all') It's been tested on a 24-bit DirectColor, 377 and an 8-bit DirectColor visual. It works on those, at least. 378 (TrueColor is still the recommended visual type, though since XV now 379 sniffs around for a TrueColor visual, it'll probably Do The Right 380 Thing by default. Certainly that's the design.) 381 382Added Feature: Added a 'PadImage' command (keyboard equiv: 'P'). Lets you 383 make an image larger *without* rescaling it, by creating a new 384 image of the specified size and pasting the original image onto the 385 center of the new image. 386 387 Currently, the new background can either be a solid color, the 388 result of running 'bggen', or an image file in any of the supported 389 (loadable) image formats. The resulting image will be the same 8/24 390 bit mode as the original image. As such, it's generally recommended 391 that you switch to 24-bit mode before doing the Pad command, for best 392 results. 393 394 Also, there are associated X resources: 'xv.pad.TYPE.val[0-9]' 395 and 'xv.pad.TYPE.name[0-9]', that let you specify the values 396 and names of additional entries in the 'Default' menu in the 397 Pad dialog box. 'TYPE' can be either 'color', 'bggen', or 'load', 398 depending on which 'method' of background generation you're using. 399 400Added Feature: In 'bggen', you can now specify colornames as with other 401 X programs (ie, by name ('red'), or by value ('#ff00ff')). Note 402 that the '#' character is treated specially in some shells, and 403 probably need to be escaped with a '\' (or wrap single-quotes around 404 the whole value) 405 406Added Feature: In 'bggen', added '-G geom' option to specify a 'repeat' 407 geometry. If given, the program generates its gradient into a 408 small (-G geom) image, which is 'center-tiled' into the 409 main (-g geom) image. 410 411Change: In 'bggen', change '-s' option to '-h'. Screw backward compatibility, 412 it makes more sense. 413 414Enhancement: Massive reorganization of the 'xv controls' window. Made room 415 for new command buttons (cut, copy , paste, clear, PadImage, About XV, 416 etc. simplified appearance by tossing many buttons into new 'menu' 417 buttons ('Root', 'Windows', 'Image Size'). 418 419Added Feature: Added a 'show/hide hidden files' toggle in the schnauzer 420 windows. (When enabled (as it is by default), it hides all files 421 beginning with a '.'. As such, it's Unix-centric, but so is the 422 rest of the program...) 423 424Bug Fix: When 'dragging' files in the schnauzer windows, the window could 425 scroll entirely too quickly (on a fast machine). Added a limit. 426 427Bug Fix: Fixed 'window-centering' code (that which pops up windows with 428 an appropriate button centered under the mouse, such as the save 429 window), so that it correctly positions the window. It works on 430 a DEC Alpha running OSF 2.0, under Mwm, Olwm, and Twm. Hopefully, 431 it'll work for you! 432 433Enhancement: Added code to display keyboard equivalents in the various 434 menu buttons. 435 436Enhancement: Added keyboard equivalents for remaining algorithms, just to be 437 consistent. The equivs are listed in the algorithms menu, and 438 all use the meta key. 439 440Enhancement: Got rid of the 'Blur*' choices on the Algorithms menu, 441 and replaced it with a single 'Blur' routine that prompts for a value, 442 making it cleaner, and more versatile, with only a slight convenience 443 trade-off. Keyboard equivalent: 'meta-l' 444 445Added Feature: Added a nifty 'Pixelize' algorithm. (Keyboard equivalent: 446 'meta-p'). Again, operates on the current selection, if any, 447 otherwise it operates on the whole picture. Now you too can make 448 photos look like their from those 'real-life cop shows'. 449 (Non-U.S. folks can just ignore that cultural reference.) Anyhow, 450 one neat feature is that it the pixels don't have to be square. 451 Try something like '16x1' for a neat effect. 452 453Added Feature: A 'save selected area' checkbox in the save window. Lets you 454 easily save portions of an image (without cropping, etc). Two notes: 455 if you save 'at displayed size' (the default), only the area of the 456 selection that is visible in the image window will be saved. 457 Alternately, if you save 'at normal size', you *can* have the selection 458 go off the edges of the displayed image (or subimage). 459 460Enhancement: You can now enter negative values for the Gamma command in 461 the graphs in the color editor. Negative values produce the same 462 curve as their corresponding positive values, except that they are 463 horizontally flipped. (ie, the curve starts at the top and goes 464 down). (Alan Blanchard (alan@abraxas.mbt.washington.edu)) 465 466Bug Fix: Memory leak if '-ncols 0' on a > 1-bit display 467 468Change: In the Save window, moved 'File list' checkbox into the Format menu. 469 470Enhancement: You can now type TAB key in Load/Save window to do automatic 471 filename completion. It only for 'simple' filenames (ie, no '/' 472 chars, no pipes, no '~', etc.), but it's still a very handy thing. 473 474New Feature: Added 'Rotate (Copy)' and 'Rotate (Clear)' algorithms (keyboard 475 equivalents 'shift-meta-t' and 'meta-t' respectively) that let 476 you rotate the image (or the current selection) by any arbitrary 477 amount. The only difference between the algorithms is that the 478 second one clears the old selected area first (equivalent to: 479 'cut, rotate, paste'), whereas the first algorithm is equivalent 480 to 'copy, rotate, paste') 481 482Enhancment: Added 'meta-u' keyboard equivalent for 'Undo all' algorithm. 483 484Enhancement: 'Flip Horizontal' and 'Flip Vertical' commands now operate on 485 selected area, if any. (Otherwise, they do the whole picture.) 486 487Enhancement: Put a 'progress meter' into most of the potentially 488 time-consuming functions (algorithms, smooth, resize, etc.) 489 490Bug Fix: The 'Oil Paint' algorithm now does the Right Thing on color 491 images. (Simply running the grayscale algorithm on the red, green, 492 and blue planes separately was the Wrong Thing, as it introduces 493 goofy fringe effects in colors that weren't originally in the image). 494 495Added Feature: New 'blend' algorithm (keyboard equivalent: Meta-b). Takes 496 the current selection (or the whole pic, if no selection), and clears 497 the rectangle such that the edges remain the same color, the center 498 becomes the average color of all the edge pixels, and all other 499 pixels get an appropriate color based on their distance from the edge 500 and their distance from the center. 501 502Enhancement: Algorithms (selected from the 'Algorithms' menu) now will only 503 affect the selected area, assuming there is a selection. Otherwise, 504 they will affect the entire image, same as they used to. 505 506Change: After deleting the last file in the 'xv controls' list, it will 507 go back to displaying the XV logo. 508 (Tom Hinds (rocker@cs.bu.edu)) 509 510Bug Fix: Writing GIF files in the B/W Dithered color mode would result in 511 black & white getting reversed. 512 (Thomas Braeunl (Braeunl@informatik.uni-stuttgart.de)) 513 514Enhancement: If you accidentally start tracking a 'zoom in' or 'pan' 515 rectangle, releasing the Ctrl key will abort the operation. 516 517Enhancement: 'Meta-8' now toggles between the 8 and 24 bit modes. 518 519Change: If you specify '<xvlogo>' as the filename in the load window, it will 520 re-load the XV title image. 521 522Bug Fix: If the last file in a list was broken in some way and was either 523 shown as Text, or not shown at all, the Next/Prev buttons weren't 524 getting enabled/disabled appropriately. 525 (R.P. Rodgers (rodgers@nlm.nih.gov)) 526 527Enhancement: Used to be, when you saved a GIF (or other 'simple' format with 528 no format-specific dialog box), XV would stick the 'saved' filename at 529 the end of the 'xv controls' list. However, if you were in the 530 middle of a bunch of files, this would cause you to 'lose your 531 place'. Folks complained. XV now does the Right Thing (tm). When 532 you save (in *any* format) it adds an entry to the end of the list, 533 but does not move your selection. When you *load* a new file (via 534 the load or schnauzer windows), the name also gets stuck at the end 535 of the list *and* the selection is moved. 536 537Change: As the default cursor in the image window is now the 'arrow' cursor, 538 the cursor affected by the '-cursor' option/resource is now the arrow 539 cursor used in all windows. 540 541Enhancement: XV now comes with version 3.30 of the libtiff TIFF library. 542 This version should run correctly on 64-bit machines. Note, however 543 that there the TIFF library no longer has any non-ANSI C support, 544 meaning you *must* have an ANSI C compiler (ie, gcc) to compile it. 545 This should *not* be a big problem in 1994... 546 547Enhancement: Load and Save 'windows' now point to separate directories. Such 548 a simple, obvious misfeature, I don't know how it's survived this long. 549 (Big Hint: The author doesn't actually *use* the program very much!) 550 551Enhancement: Modified/improved 'selection' rectangle handling (formerly 552 called the 'crop rectangle'). It now flashes, making it much 553 easier to find. It also stays around when you zoom, unzoom, 554 pan, or resize the image. This lets you draw a selection, and 555 zoom in on the corners (or whatever), and get the selection positioned 556 perfectly before doing the crop (or whatever). 557 558Added Feature: XV now can read and write uncompressed 24-bit Targa files, 559 interlaced or non-interlaced, with the origin in the 560 bottom-left or top-left (by Derek Dongray (dongray@genrad.com)) 561 562Change: Redesigned the load and save windows (okay, so it's really only 563 one window...). The number of radio buttons for different 564 image formats was getting out of hand, and taking up a lot of 565 valuable screen real estate. The new load/save window is smaller 566 (well, the save is smaller, the load is now the same size as the 567 save), cleaner, has room for 6 more lines in the directory window, 568 and has a fish in it. A win, by my book. 569 570Bug Fix: Found (and killed) memory leak in the Schnauzer, which would 571 occur during icon generation 572 573Bug Fix: IRIS RGB i/o code didn't work on 64-bit machines. 574 575Added Feature: '-RM' command line option (no X resource equivalent). 576 When specified, upon exit XV will delete *all* files listed on 577 the command line. Handy if you're writing a program, and you 578 want to use XV to display graphics automatically. You write your 579 image(s) out, fork off a background XV to display the image(s), 580 and when the user quits XV, the image files will be removed, saving 581 you the trouble of cleaning up the files yourself. 582 583Added Feature: Nifty new 'Grab' dialog box whenever you issue the Grab 584 command. You can now specify a grabDelay from within XV, and you 585 can also automagically hide all XV windows during the grab. 586 Also, now supports 'autograb' command, which waits the specified 587 delay time, and then grabs whatever window the cursor happens 588 to be in at the time. This gives you a way to capture popup menus, 589 rubber-band selections, and other things that require the mouse 590 button to be held down. (Note: AutoGrab searches upward and grabs 591 the 'top-level' window that the cursor is in, rather than just the 592 immediate child window, as it's far easier to take too much and 593 throw away the extra than to take too little...) 594 595 One note: between the time a Grab or AutoGrab command is issued, 596 from the dialog box, and the time that the command complets, all 597 'image file changing' commands ('Next', 'Prev', 'Load', etc.) are 598 disabled, (as is Grab), for perfectly good reasons. 599 600Enhancement: The '-expand' option (and the 'xv.expand' resource) now takes 601 either a single value (as it used to), or a pair of values 602 separated by a colon. This lets you set different horizontal and 603 vertical expansion/compression factors. (eg, '-expand 3:-4' will 604 make the displayed width 3 times the image width, and the displayed 605 height 1/4th the image height.) 606 607Change: 'Relaxed' floyd-steinberg dithering when displaying 24-bit images 608 (in 24-bit mode) on non-truecolor displays. Fewer goofy artifacts. 609 610Enhancement: Now (unless '-nostat' is specified) stats filenames specified 611 on the command line. Only 'plain' files will be added to the 612 list of filenames. This lets you type 'xv *' in a directory 613 with subdirectories, and not have the subdirs added as (unloadable) 614 files. 615 616Change: Change 'static char' in all bitmap files to 'static unsigned char', 617 as some compilers object to values > 0x7f being assigned to signed 618 char's. 619 620Change: Added 'click right button to open menu' string in the XV logo 621 image, just to make things a little more obvious. 622 623Added Feature: Changed command-line argument handling. All of the 624 'flag' options (-perfect, -smooth, etc.) now take '+' or '-' as 625 the first char of the option name. If you use '-' (ie, '-perfect') 626 it *forces* on the option (it used to toggle the option on or off). 627 Similarly, if you use '+' as the first char of the option ('+perfect') 628 it forces *off* the option. This lets you put the program in a known 629 state (regardless of what X resource settings you may have set up). 630 Handy for sysadmins who want scripts using XV to behave the same 631 no matter what X defaults the users may have set up. 632 (idea: Peder Langlo (respl@mi.uib.no)) 633 634Change: XV no longer looks in '.Xdefaults-machinename' as a place to find 635 your X resources. The 'gethostname()' call was leading to 636 portability problems, and in any event, you should load up your 637 resources into the resource database (via 'xrdb') when you log in, 638 the way God intended... 639 640Added Feature: When cropped (or zoomed), ctrl-Middle in the image window 641 will let you pan the visible region of the image around, which is 642 much cooler than zooming out and zooming back in on a different 643 area. (idea: Peder Langlo (respl@mi.uib.no)) 644 645Enhancement: There's now a '..' entry in the load/save window file list, 646 to make maneuvering slightly easier. 647 648Added Feature: XV now can read and write uncompressed 24-bit Targa files 649 (by Derek Dongray (dongray@genrad.com)) 650 651Enhancement: XV can now handle 16-bit greyscale TIFF files. 652 (Leon Avery (leon@eatworms.swmed.edu)) 653 654Bug Fix: Memory leak in 24-to-8 bit conversion routines found and removed. 655 (Scott D. Heavner (sdh@po.cwru.edu)) 656 657Enhancement: XV now has a 'chdir' button (and menu item) in the Schnauzer 658 window. It lets you directly chdir to some other directory without 659 going through the old 'up to the root and then down one dir at a time' 660 process. 661 662Change: Typing '^C' in schnauzer windows now does a 'chdir' command, rather 663 than opening/closing the 'xv comments' window. To get the comment 664 window, type '^C' in the image window. 665 666Change: XV now eats BadWindow errors on the X_GetProperty request. 667 These happen on certain SGI X servers after the 'snapshot' program 668 has been run. The window hierarchy gets trashed by snapshot. 669 (Run 'xlswins' if you want to see this.) 670 (Ben Simons (ben@lewis.vislab.su.edu.au)) 671 672Bug Fix: The 'edge detection' algorithm wouldn't detect edges along the \ 673 direction. Better edge detection algorithm has been added. (Though 674 the old is still there for the 'embossing' effect. 675 (David Robinson (drtr@mail.ast.cam.ac.uk)) 676 677Bug Fix: A4 and B5 paper sizes in PostScript save dialog were slightly wrong. 678 679Enhancement: XV now supports 'gzipped' files, as well as 'compressed' files. 680 Needless to say, you need to have the 'gunzip' program installed 681 on your system for this to work. 682 (Jean Liddle (jliddle@mrcnext.cso.uiuc.edu)) 683 684Enhancement: Added 'A3' paper size in 'save as PostScript' dialog box. 685 686Bug Fix: BMP file reading wasn't working on files created by ImageMagick. 687 (Roy Johnson (rjohnson@shell.com)) 688 689Enhancement: XV now sniffs out whether or not you have a 24/32 bit 690 TrueColor or DirectColor visual, and if so, uses it by default 691 (rather than always using the 'Default Visual' of the display, 692 which is generally an 8-bit PseudoColor visual, even on 24-bit 693 systems). 694 695 Also, both the '-visual' option and the 'xv.visual' X resource now 696 also take 'default' as a value, which means 'use the default 697 visual of the display', for folks who want 'the old behavior'. 698 699Change: Modified the 'Timer()' function in xvmisc.c to use select() instead 700 of 'setitimer()', which let me get rid of all the FOO_SIG macros 701 and such in xv.h, and basically get rid of one of the primary 702 portability annoyance. 703 704Bug Fix: In the Schnauzer, when generating icons, if it decides a file 705 is potentially an XBM file, loads it, finds out it isn't, it will 706 be displayed as an UNKNOWN icon (?), instead of an ERROR icon. 707 708Change: When tracking pixel values in the image window, it now displays 709 the color of the pixel in Hex, as well as in decimal, so that you 710 can use this value directly in X color specifications, without 711 needing to do the dec->hex conversion by hand. 712 713Bug Fix: In the 'xv load' window, if you clicked below the 'Load All' button, 714 you could get a 'Prev Name' button to appear. 715 (Erwan Moysan (Erwan.Moysan@irisa.fr)) 716 717Bug Fix: .xvpics subdirectories are now created with the same permissions 718 as their parent directories. Likewise, thumbnail files (in .xvpics 719 dirs) are now written with the same permissions as the original 720 files. 721 722Bug Fix: In XV 3.00, the PDS/VICAR module got screwed up somehow, and 723 no longer worked correctly. Fixed. 724 725Change: Stuck SysV-style signal handler definitions and rand/srand defs in 726 xv.h, for better compatibility (David Brooks (dbrooks@osf.org)) 727 728Bug Fix: 'Pass 2 color allocation' could potentially be performed on a 729 visual type with no colormap, which would be a bad thing, believe me. 730 731Bug Fix: '-loadclear' wasn't working correctly 732 733Bug Fix: Potential segmentation fault when Uncompressing files fixed. 734 (Dana Jacobsen (jacobsd@solar.cor2.epa.gov)) 735 736Bug Fix: If printing XV-generated Color PS files on a Grey/BW PS printer, 737 the printer may have run out of memory, due to a memory leak in the 738 color->gray PS code. (Klaus Schnepper (df40@master.df.op.dlr.de)) 739 740Bug Fix: The '-hist' and '-norm' options weren't actually working. 741 742Bug Fix: If you loaded a GIF89 file with a lot of ignored-by-xv extensions, 743 and you didn't have the info or controls windows up, the constant 744 popping up of 'warning' messages was real annoying. They don't 745 do that anymore. 746 747Enhancement: If you specify the '-quit' option, XV turns off any '*map' 748 options (-cmtmap, -cemap, -imap, etc.) you may have turned on, 749 as you won't have an opportunity to *use* any of the windows before 750 the program exits. No need to map them. 751 752Bug Fix: XV now correctly positions the window on initial load (ie, 753 'xv -max' will now work again) 754 755Bug Fix: When you loaded a new image, if XV felt a need to move the window, 756 it would draw the new image at the old window size, and then draw 757 it again at the new image size. This was a major inefficiency with 758 24-bit images. 759 760Enhancement: 'Remove' key on DEC keyboards now functions like '^D', so it 761 can be used to delete files, etc. 762 763Added Feature: XV can now read a variety of Amiga IFF ILBM formats. 764 (Thomas Meyer (i03a.zfn.uni-bremen.de) 765 766Change: XV should now recognize PS files that start with '%!' (as it did) and 767 with '^D%!' (as generated by MS-Windows 3.1) 768 769Bug Fix: If you use '-poll' and '-maxpect', only the first image would be 770 shown 'big'. (Bruce Labow (labow@itd.nrl.navy.mil)) 771 772Change: 'Relaxed' getwd handling. You can now maneuver through directories 773 even if you can't read the contents of one of the parent 774 directories (ie, mode 'rwx--x--x'). All parent directories must 775 have execute permission, however. 776 (Andrew Brooks (arb@comp.lancs.ac.uk)) 777 778Change: Cleaned up 'file type' handling code in source, which should make 779 it easier to build XV on 'non-standard' platforms. 780 (Cameron Simpson (cameron@cse.unsw.edu.au)) 781 782Enhancement: XV previously only recognized files that began with '#define' 783 as being (potentially) XBM files. It now also will treat files 784 that start with '/*' as potential XBM files, which should cover 785 nearly all the XBM files out there. 786 787Bug Fix: If you moved or copied files from one schnauzer window to another, 788 and for some reason the files failed (ie, 'moving' from a write- 789 protected directory), the icons that failed to move would still be 790 lit (as they should be), but they didn't *think* they were lit! 791 792Bug Fix: When moving/copying files via the schnauzer, it would always 793 create '.xvpics' subdirectories in the destination folder, instead 794 of "only when the source folder has a .xvpics subdirectory", as 795 was intended. 796 797Enhancement: 'relaxed' the AutoCrop algorithm for 24-bit images. Since 798 24-bit images (JPEG, in particular) tend to have some noise in 799 them, the 'everything must be equal' criteria of the normal autocrop 800 algorithm would prevent any cropping from happening. The new 801 algorithm (which only affects 24-bit images) crops lines if all 802 the pixels are within a certain percentage of one and other. 803 (Paul Close (pdc@sgi.com)) 804 805Bug Fix: BMP file i/o fixed. 24-bit files weren't done correctly, and 806 certain files would blow up that Windows-based programs would 807 handle correctly. (Pesky vague format specifications...) 808 (John Walker (kelvin@autodesk.com)) 809 810Bug Fix: Unified 'cursor keys' into one function. Certain keyboards 811 generate an interesting variety of keysyms when you hit the 'pageup' 812 'pagedown', 'home', and 'end' keys (and shifted arrow keys), and 813 I had code to deal with that problem scattered around the source. 814 Practical upshot: 'pageup/down' might work in certain controls/ 815 windows, and not others. 816 817Bug Fix: XV would crash if you tried to grab a rectangular region of the 818 root window (and both the starting and ending points of the rect 819 were in the root window). 820 821Bug Fix: Memory leak in xvpbm.c (Joe Peterson (joe@avs.com)) 822 823Bug Fix: XV would crash if you used '-nopos' 824 (Nick Sayer (mrapple@quack.kfu.com)) 825 826Change: All files in the distribution should be 14 chars or less (to 827 avoid SysV name-length limitations on some systems) 828 829Change: Broke up exceedingly large functions in xv.c and xvevent.c, 830 as they tended to annoy compilers and optimizers... 831 832Bug Fix: Use of GS_LIB in Makefile broke if folks had it defined in their 833 environment already. 834 835Bug Fix: XV assumed that 24-bit deep visuals had 32 bits per pixel. While 836 this is generally true, apparently there are some servers that only 837 want 24-bit pixel values. 838 (Steven Schoch (schoch@starnet.com)) 839 840Bug Fix: It would crash if it tried to draw an MenuButton that had no menu 841 associated with it yet. (A timing issue that occurred on some 842 systems) 843 844Bug Fix: If you tried to use '-root' and '-gamma' simultaneously, it'd 845 crash. Now it doesn't. 846 847Bug Fix: On some systems, XV would crash when clearing an old root image 848 and installing a new one. 849 850Added Feature: Additional options to 'bggen'. You can now specify the 851 size of the generated image with '-g geometry'. The generated 852 images are now by default in PPMRAW format. You can generate 853 'ascii' images by using the '-a' flag. You can now ROTATE the 854 generated image by any arbitrary amount with the '-r rot' flag, 855 where rot as a (counter-clockwise) rotation, in degrees. 856 857Enhancement: 'bggen' has been fixed. It now automatically senses 858 the display size, and by default, generates an image of that 859 size. (PeterVG (pvgunm@polaris.unm.edu)) 860 861Change: In XV 3.00, I went to a somewhat faster (serpentine) color dithering 862 algorithm (used in conjunction with Smoothing on non-TrueColor 863 displays, when in 8-bit mode). No one much noticed the speed 864 improvement, and several people complained that images now looked 865 worse than they used to, so I've put it back the way it was. 866 (Kenny Zalewski (zalewk@rpi.edu)) 867 868Enhancement: If you are running XV in 'locked 8-bit mode', and you load a 869 JPEG image, XV will now use the JPEG quantizer, which produces better 870 results than the normal XV quantizers. This makes XV 3.00 behave 871 like it did in XV 2.21. 872 (Jim Lick (jim@pi-chan.ucsb.edu)) 873 874Bug Fix: xvsunras.c still had some problems on 64-bit machines. 875 (Dave Hill (ddhill@zk3.dec.com)) 876 877Change: Twiddled code in xvsmooth.c. Certain compilers complained about a 878 potential divide-by-zero (not that it could ever happen, but try 879 telling the compiler that...) 880 881Change: Twiddled code in xvps.c. Optimizer in IRIX-4.0.5 broke a 882 calculation. Expression has been simplified. 883 884Bug Fix: YCbCr->RGB conversion in xvtiff.c wasn't being done correctly, 885 according to the TIFF 6.0 standard. 886 (Karsten Spang (krs@kampsax.dk)) 887 888Portability: Added explicit typecasting to a few lines of xvtiff.c (HP 889 compilers objected.) 890 891Portability: Changed intances of '#ifdef macII' in xv.h to '#ifdef aux' 892 (Declan A. Rieb (darieb@sandia.gov)) 893 894Bug Fix: XV wouldn't correctly read XBM files with 1-digit-long values 895 (ie, '0x9' instead of '0x09'). Fixed. 896 (spotted by: Berthold Dettlaff (dettlaff@informatik.uni-stuttgart.de)) 897 898Bug Fix: xvtiffwr.c now writes out XRESOLUTION and YRESOLUTION flags, which 899 are apparently required by some other tiff-readers 900 (Larry W. Virden (lwv26@cas.org)) 901 902 903XV 3.00a intermediate bug-fix release 904------------------------------------- 905Bug Fix: core dumps in schnauzer fixed. (br->lit wasn't getting zeroed 906 when you moved files to another directory) 907 908Bug Fix: To vdcomp.c. Strings buffers to hold filenames were too short. 909 (Anthony A. Datri <aad@lovecraft.siemens.com>) 910 911Bug Fix: If you put an image using the Std. Colormap into the root window 912 (ie, a 24-bit image on an 8-bit display), and exited XV, the colors 913 were freed (and would get overwritten) 914 915Bug Fix: 'Update' command in Schnauzer now checks both 'mtime' and 'ctime' 916 fields when comparing dates of a file and its thumbfile. 917 918Bug Fix: XV load window didn't correctly handle 1-character top level 919 directory names (ie, '/u'). 920 921 922 923XV 3.00 Release 924--------------- 925Enhancement: Faster 332 dither algorithm when displaying 24-bit images on 926 non-TrueColor/DirectColor displays. 927 928Added Feature: 'trimming keys'. You can now easily trim off one pixel from 929 any edge of an image by pressing Ctrl and one of the arrow keys while 930 inside the main window. Now you can use the cropping rectangle for a 931 first 'rough cut', and do the precision work with the trimming keys. 932 933Enhancement: Added '-grabdelay' command line option (no resource), which 934 lets you specify a delay between the time the 'Grab' command is issued, 935 and the time that the cursor changes becomes owned by XV, regardless of 936 what window it's in. This lets you hide the XV windows (or whatever) 937 before the actual screen grab takes place. The delay can be set 938 to 0 (the default) up to 15 seconds. 939 (Jason Berri (berri@aero.org)) 940 941Bug Fix: Was crashing if you handed it a gif with multiple images in it. 942 943Change: Switched it back so that when you Delete a file in the xv controls 944 list, the next file in the list (if any) is automagically loaded. 945 946Change: Broke huge series of 'else if's in xv.c into two halves. Broke some 947 compilers (on VMS and some PC Unixes) 948 (Rick Dyson (dyson@iowasp.physics.uiowa.edu)) 949 950Change: Improved resource-handling code. No longer necessary to 951 define X11R5, and should work on certain HP/Apollo workstations 952 where it didn't used to. 953 954Change: Modifications to make XV somewhat more POSIX compliant. 955 (Mark W. Snitily (mark@zok.sgcs.com)) 956 957Bug Fix: Changes to xvgrab.c to make it work on 64-bit machines. 958 (Matt Thomas (thomas@netrix.lkg.dec.com)) 959 960Change: migrated all memcpy(), memcmp(), memset(), and bcopy(), 961 bcmp(), bzero() calls to xvbcopy(), xvbcmp(), and xvbzero() 962 functions in xvmisc.c. Necessary because the b*() routines 963 don't exist in Solaris, and not everyone has the mem*() routines 964 (and besides, memcpy() doesn't even work correctly) 965 966Added Feature: Added '-icgeometry' cmd-line option (and 'iconGeometry' 967 resource) to specify initial position of the icon when you 968 start XV in '-iconic' mode 969 970Added Feature: XV can now display multi-page (currently only PostScript) 971 files. If you are viewing a multi-page file, the title of the image 972 window will show 'page 1 of 37' (or whatever) as an indication. 973 You can use the PageUp and PageDown keys (Next and Prev on some) 974 on your keyboard to do page through the file, and you can type ctrl-P 975 to pop-up a 'go to page #' dialog box. These keys must be typed in 976 the image window. 977 978Enhancement: Added '-name' command line option (no corresponding resource) 979 that lets you specify the string to be displayed in the image window's 980 titlebar. Useful if you're calling XV from some other program, 981 and you don't want the titlebar to say 'xv /tmp/prog2315a' or something 982 like that. (Idea from: Bill Silvert (silvert@biome.bio.ns.ca)) 983 984Added Feature: XV can now read and display PostScript files, as long as you 985 have the 'Ghostscript' package installed. 986 Added '-gsdev str', '-gsgeom geom' and '-gsres int' command-line 987 options (and gsDevice, gsGeometry, and gsResolution X resources). 988 Thanks to Michael Gleicher (mkg@stealth.plk.af.mil) for the idea, 989 and thanks to Harald Hanche-Olsen (hanche@ams.sunysb.edu) 990 and L. Peter Deutsch (ghost@aladdin.com) for PostScript help. 991 992Bug Fix: Minor memory leak in xvgrab.c fixed. 993 (Tony Sweeney (sweeney@ingres.com)) 994 995Added Feature: Added '-drift dx dy' option (and 'driftKludge' resource) 996 for the benefit of folks who experience a 'drifting' of the 997 image window whenever it's resized, etc. If the window drifts down 998 and to the right, use negative values to compensate. If the window 999 drifts up and to the left, use positive values to compensate... 1000 1001Change: Changed 'schauzer' cmd-line opts and resources to: 1002 '-vsdisable' '-vsgeometry' '-vsmap', '-vsperfect' and 1003 vsDisable, vsGeometry, vsMap, vsPerfect 1004 1005Added Feature: XV now reads some of the more common types of PCX files 1006 (1-bit-per pixel, 1-8 planes and 8-bits-per-pixel, 1-plane). 1007 (thanks to Eckhard Rueggeberg (Eckhard.Rueggeberg@ts.go.dlr.de)) 1008 1009Added Feature: Added a 'file list' check box in the Save window. When 1010 selected, XV will write out the list of file names currently 1011 loaded into the 'xv controls' window, for use with the '-flist' 1012 option described below. 1013 1014Added Feature: Added the '-flist' option and 'fileList' resource. Both 1015 let you hand XV a textfile that contains a list of image filenames, 1016 one per line. When using the fileList resource, be sure to specify 1017 the complete pathname to the filelist file, so that XV will be able 1018 find it no matter what directory you start XV from. 1019 (Brian Gregory (bgregory@megatest.com)) 1020 1021Enhancement: When '-quit' option specified, and you *aren't* using 1022 the root window, *any* button press or key press inside the 1023 main image window will exit the program. Use this if you're 1024 calling XV from some other program, and only wish to view a 1025 single image, and be donw with it... 1026 (Stephen Mautner (stephen@cs.utexas.edu)) 1027 1028Enhancement: Added semi-useful '-nofreecols' option. Only has an effect 1029 when running a slideshow (with the '-wait' option). Prevents 1030 the freeing of colors between images, thereby avoiding ugly 1031 effects on PseudoColor displays. Of dubious merit, as later images 1032 will look worse (if they use different colors than the first 1033 images), and XV *REALLY* isn't meant for doing animation. For low- 1034 speed slideshows, you're best off *not* using this option, because 1035 every image will get the 'right' colors. See the '-loadclear' option 1036 to avoid nasty color-reallocation effects... 1037 1038Bug Fix: When polling, if the file doesn't exist, XV will wait for it to 1039 be created. 1040 1041Bug Fix: Auto-apply while dragging didn't work the 'first' time you tried 1042 to use it. 1043 1044Change: When running XV in -ncols 0 mode (or, running on a 1-bit display), 1045 the default image (the XV logo) is generated differently, so as to 1046 be easier to read. 1047 1048Enhancement: New version of JPEG library (version 4a) hooked into XV. JPEG 1049 Save dialog now has a 'smoothing' dial. JPEG files now 1050 support comments. 1051 1052Enhancement: New version of TIFF library (version 3.2) hooked into XV. 1053 1054Bug Fix: When you're doing a slideshow (with the '-wait' option), XV will 1055 now determine if the image window is iconified. If it is, it *won't* 1056 wait for the window to be drawn before starting the 'wait' period. 1057 Previously, if the window was iconified, XV would sit there (and not 1058 move on) until you deiconified it. Needless to say, I'm sure *someone* 1059 perferred the previous behavior... Oh well! 1060 1061Added Feature: Added '-mfn' and 'monoFont' string resource. Lets the user 1062 specify what font to use for TextView windows, and other places where 1063 the mono-spaced font is used. 1064 1065Enhancement: GIF, and PBM should now have slightly more informative info 1066 when you build icons in the schnauzer 1067 (ie, GIF87/89 and Raw/Ascii PBM/PGM/PPM) 1068 1069Added Feature: 'License' button now hooked up. Gives you the current 1070 licensing info on XV. 1071 1072Enhancement: When opening up a schnauzer window that will be displaying the 1073 same data as an already existing schnauzer window (ie, when using 1074 the Open Win command in the schnauzer), the icon data and such 1075 is just copied, rather then being re-read from disk. MUCH faster. 1076 1077Enhancement: Comments are now written in formats that support comments 1078 (GIF, TIFF, PBM, PM) 1079 1080Added Feature: Two new 'root' display modes, symmetrical tiled, and 1081 symmetrical mirrored. (Dave Lampe (djl@ptc.timeplex.com)) 1082 1083Change: You can now TextView a compressed file, and it'll display the 1084 uncompressed data. 1085 1086Bug Fix: TextView windows now show correct # of lines (in ASCII mode) for 1087 files/comments/whatever that end with a \n character 1088 1089Enhancement: XV should now work on 5-bit displays. Not that there should 1090 *be* 5-bit displays, but that's not my problem... 1091 1092Change: 'Expansion' field in info window is now shown in terms of 1093 percentages, rather than factors, in keeping with the SetSize 1094 command. 1095 1096Change: Stopped making the pop-up dialog windows be transient windows 1097 of some other XV window, as (what with the keyboard equivalents 1098 and such), it's very difficult to determine which is the 1099 appropriate 'parent' window. Given the mwm restacks windows 1100 so that the parent is right below the pop-up, this is very 1101 annoying when you issue a command in some window, and some other 1102 window leaps in front of you. 1103 1104Added Feature: Added 'SetSize' command ('S' shortcut). Pops up a dialog 1105 box that asks you what the displayed image size should be 1106 (in pixels, or expansion percentages) 1107 1108Enhancement: Whenever you create or delete a file the browser and 1109 Load/Save windows will automatically rescan (if necessary) 1110 1111Added Feature: Added '-cmtgeometry' option and 'commentGeometry' resource 1112 to specify size/position of 'comments' window. Added '-cmtmap' 1113 option and boolean 'commentMap' resource to specify whether comment 1114 window should be mapped when XV is started. 1115 1116Added Feature: Added a 'comments' window to display any comments that might 1117 be found in the current loaded image file 1118 1119Added Feature: Added '-tgeometry' and 'textviewGeometry' resource to control 1120 size and positioning of textview window(s) 1121 1122Enhancement: 'compress'ed file handling improved somewhat. Can now deal 1123 with piped-in compressed files, or compressed files that don't 1124 end with '.Z' 1125 1126Enhancement: You can now (probably) use shift-up-arrow and shift-down-arrow 1127 on keyboards that don't have 'PgUp' and 'PgDn' keys, and use 1128 shift-PgUp and shift-PgDn on keyboards that don't have 'Home' and 1129 'End' keys. 1130 1131 1132Rev: 12/7/92 (version 2.36) 1133------------------------------ 1134Bug Fix: Bug found in GIF file output, involving suboptimal hash tables, 1135 or something like that. (Tom Lane (tom_lane@g.gp.cs.cmu.edu)) 1136 1137Bug Fix: If a failure occurred while writing a GIF file, XV would exit with 1138 a fatal error. It'll now just complain, but continue to run. 1139 (Spotted by Chris Newman (chrisn+@cmu.edu)) 1140 1141Added Feature: Now reads and writes both Grayscale and TrueColor IRIS 'rgb' 1142 files. Can read both normal and rle-encoded images, always writes 1143 rle-encoded images. 1144 (Thanks, Paul Haeberli (paul@manray.asd.sgi.com) 1145 1146Change: Deleteing a file from the control window now no longer loads the 1147 next image in the list. As a result, '-keeparound' (and the 1148 resource) has been removed, no longer having an effect. 1149 1150Bug Fix: '-polled' was occasionally loading a 'blank' image. 1151 1152Bug Fix: saving 'smoothed' or 'dithered' images was saving 'raw' images 1153 instead. 1154 1155Bug Fix: fixed insidious little color freeing problem that would occur 1156 whenever XV loaded a 'failed' picture (and hence, brought up the 1157 default pic... 1158 1159Bug Fix: Various things were depending on the 'current working directory', 1160 which is now a fairly vague concept, what with a load/save window 1161 and several schnauzers, all of which can be pointing at different 1162 directories... 1163 1164Enhancement: When dragging a selection rectangle in the schnauzer, if you 1165 move the cursor far enough above or below the icon window, the window 1166 will start scrolling in 'pages' rather than a line at a time. 1167 1168 1169Rev: 11/9/92 (version 2.33) 1170------------------------------ 1171Enhancement: The Update button in the Schnauzer now calls 'scanDir()' first, 1172 and also displays new icons as it generates them. 1173 1174Bug Fix: Smoothing wasn't automatically happening if the image was 1175 initially displayed shrunk/expanded (for whatever reason). 1176 1177Change: Let the titles in the Schnauzer get a little longer before '...'ing 1178 them. 1179 1180Enhancment: Much improved 'Grab' command handling. You can now grab windows 1181 that have a private colormap, and it also works with windows of 1182 varying depths (handy if you have one of those X servers (like an 1183 Iris) that is normally in 8-bit pseudocolor mode, but *can* open 1184 24-bit windows simultaneously.) 1185 1186Bug fix: '<stdio>' was getting put in the control window's name list, which 1187 was sort of pointless, since it can never be reloaded or anything. 1188 1189Change: Now, displays both the filename and the parent directory's name on 1190 the image window and icon to help you differentiate between two images 1191 with the same name. (ie, you're comparing the images 1192 "/my_archives/gif/naughty.gif" and "/tmp/incoming/naughty.gif". 1193 XV will now display 'gif/naughty.gif' and 'incoming/naughty.gif' in 1194 the two window's titlebars. Assuming, of course, that your WM *does* 1195 titlebars...) 1196 1197Change: Put back the 'auto-install' colormap on load behavior when running 1198 in '-perfect' or '-owncmap' modes. 1199 1200Bug fix: it was apparently possible to get double-slashes in the control 1201 window name list. Hopefully less so now. 1202 1203Bug Fix: xv now fills in the 'WM_COMMAND' property of the main window, 1204 in accordance with the ICCCM. (Eric Rescorla (erk@eitech.com)) 1205 1206Added Feature: Added '-bperfect' and boolean 'browsePerfect' resource to 1207 control whether or not the visual browser should install it's own, 1208 private colormap. By default, it *does*. 1209 1210Added Feature: Added a 'Load All' button to the Load window. Copies the names 1211 of all 'regular' files in the current directory into the control window 1212 list, for e-z viewing. 1213 1214Added Feature: Multiple browser windows. 1215 1216Added Feature: Added a cool 'auto-apply while dragging' check button in 1217 the color editor. It can only be turned on while you're in 1218 'read/write' color mode, and is by default. When enabled, image 1219 colors are twiddled *while* you operate the various controls in the 1220 color editor window, not just after you release the controls. 1221 1222 There's a 'dragApply' boolean resource that lets you turn off such 1223 behavior (if, for whatever, it's *still* too slow on your machine). 1224 (Major League Thanks to Chris Weikart (weikart@prl.dec.com) 1225 1226Enhancement: In the visual browser, now attempts to load executable files 1227 as well, when generating icons. If the file is a known format that 1228 just happens to have it's executable bit turned on, an icon is 1229 generated. Otherwise, the icon is left the default 'application' 1230 icon. 1231 1232Bug Fix: Loading '~/whatever' in the Load window was putting a bogus 1233 (un-globified) string in the Control window list 1234 1235Enhancement: Whenever you successfully 'save' a file (in the Save window), 1236 the written file's name is added to the Control window list, for 1237 e-z reloading... 1238 1239Enhancement: The infamous (to me, at least) 'purple problem' on HP's and 1240 some other things has probably been fixed. I can't test it, so 1241 I can't verify this. If you don't know what the problem was, don't 1242 worry, you didn't have it. 1243 1244Change: Added 'version #' string to image window titlebar. 1245 1246Enhancement: Pop-Up warning/confirmation windows are now 'attached' to the 1247 correct windows, for the most part. 1248 1249Added feature: Dopey 'warning message' pops up when you switch from 24 to 8 1250 and subsequently from 8 to 24. 1251 1252Added feature: When allocating colors in 'stdcmap' modes, it now tries a 1253 little harder... 1254 1255Added feature: You can now specify a specific visual to use by using 1256 '-visual <vid>' where vid is the hexadecimal visual ID. You 1257 can get visualID's by running 'xdpyinfo'. (Formerly, you could 1258 only specify a class of visual (eg, TrueColor), and XV would pick 1259 the 'deepest' one of those available.) 1260 1261 Note: If your root window and specified visual have different 1262 depths, you will *not* be able to display images in the root 1263 window. 1264 1265Bug Fix: 'Landscape' postscript had its preview incorrectly generated. 1266 1267Bug Fix: Grayscale compressed postscript wasn't quite correct. 1268 (John P. Nelson (jpn@genrad.com)) 1269 1270Bug Fix: Postscript 'bounding box' comment was incorrect when writing in 1271 landscape mode. (John Amanatides (amana@cs.yorku.ca)) 1272 1273Added: '-8' and '-24' options (and boolean 'force8' and 'force24' resources) 1274 to force XV to remain in either 8- or 24-bit mode. 1275 1276Bug Fix: Patches two 2-bit X support for NeXT machines. 1277 (Werner Randolf (evol@brian.uni-koblenz.de)) 1278 1279 1280Rev: 10/8/92 (unreleased version 2.29) 1281---------------------------------------- 1282Added: '-dir' (and 'searchDirectory' string resource) to specify a 1283 default place to look for files. When you start XV, it will 'cd' to 1284 this directory, so it will be the default directory for the Load, 1285 Save, and Visual Browser windows. Also, you can (on the command line) 1286 specify 'simple' names. It will first look for the file in the 1287 directory that you were in when you started XV, and (if not found 1288 there) it will look for the file in the specified search directory. 1289 1290Added: '-hist' and '-norm' options (and boolean 'autoHistEq' and 'autoNorm' 1291 resources) to automatically perform Histogram Equalization and 1292 Normalization whenever an image is loaded. 1293 1294Added: A '-viewonly' option that disables *ALL* user input, and as a 1295 consequence, prevents the user from opening any of the various 1296 XV windows. They'll only see the image window, and they won't 1297 be able to do anything with it. Useful in the case that you 1298 may want to use XV in some sort of canned demo (or other 1299 environment in which you don't want people to have access to the 1300 file system (the load/save window) and such.) 1301 1302 Note that it isn't possible for the user to Quit the program, either, 1303 so you'll almost certainly always want to use the '-wait' option to 1304 make the program exit after some amount of time. (Or, alternately, 1305 you can just kill the XV process from whatever program started it.) 1306 (idea from Larry W. Virden (lwv26@cas.org)) 1307 1308Added: When using XV for format conversion, it can be darned annoying that 1309 whenever you load a file, it sets the format/colors controls in 1310 the Save window to appropriate values for the loaded image. 1311 Likewise, if you're printing images, or piping them to some program, 1312 it's annoying that everytime you load an image, the default 'save as' 1313 filename gets put back to the loaded image's filename. 1314 1315 The fix: two new buttons in the Save window, 'Prev Set' which 1316 restores the format/color settings that were used on the last save 1317 operation, and 'Prev Name', which restores the name that was used 1318 on the last save operation. 1319 1320Change: IntSize button now shrinks things to integer compressions, as 1321 well as integer expansions. For example, if the current 1322 expansion ratios were .70 x .80, and you hit IntSize, the new 1323 ratios would be .50 x 1.00 (as .70 is closer to 1/2 than it is to 1, 1324 and .80 is closer to 1). Likewise, it will shrink things to 1/3, 1325 1/4, 1/5, and so on. 1326 1327Added '-rotate deg' and 'autoRotate: int' options to automatically rotate 1328 images (in 90-degree steps) when they are loaded. Valid values 1329 are 0, +-90, +-180, and +-270. 1330 1331Added '-hflip' and '-vflip' (and boolean 'autoHFlip' and 'autoVFlip' 1332 resources) to automatically flip images horizontally and vertically 1333 when loaded. 1334 1335Change: Now, when 'large' images (larger than the screen) are loaded, 1336 they are shown at 'MaxPect' size, rather than being halved or 1337 quartered. 1338 1339Added a new '-crop x y w h' option that lets you automatically crop to some 1340 specified rectangle when an image is loaded. Note that the entire 1341 image is still loaded, and available, and you can hit 'UnCrop' to 1342 display the whole image. Mainly useful to view a small section of 1343 the weather maps, or something like that. Note that there is no 1344 corresponding resource for this option. 1345 1346Renamed the old '-crop' option (which automatically did an 'AutoCrop' 1347 operation) to '-acrop'. The boolean resource 'xv.autoCrop' still 1348 specifies whether or not to automatically do an AutoCrop. 1349 1350Added a '-raw' option (and 'autoRaw' boolean resource) basically to complete 1351 the '-dith' and '-smooth' options. Can be used to turn off the 1352 default automatic dithering that takes place when you're using 1353 the 'standard colormap' 1354 1355Added '-4x3' option (and 'auto4x3' boolean resource) to automatically do a 4x3 1356 command on any loaded pictures. 1357 1358Added '-preset' option and 'defaultPreset: int' resource that lets you 1359 make one of the four presets in the color editor window temporarily 1360 be the 'default' preset. Useful if you set the presets up to 1361 correct the colors for various monitors that you use, or alternately, 1362 if you set the presets up to 'do' something useful... 1363 (idea from Ricky KeangPo Ho (kpho@sabina.berkeley.edu)) 1364 1365Bug Fix: Whenever you load a file, its name gets put into the Control 1366 Window's list. XV now checks to see if the name is already *in* 1367 the list, and thus avoids putting duplicate names in the list. 1368 (Rod Summers (rsummers@ard.fbi.GOV)) 1369 1370Added stuff to the Display Modes button. You can now turn on/off these 1371 options, interactively, while running the program: 1372 -perfect, -owncmap, -stdcmap, -rw 1373 1374 It's pretty cool, since if you're like me, you just normally run 1375 XV in its default mode (read-only color cells, no colormap 1376 installation). If you suddenly decide you want to extensively 1377 putz around in the color editor, you can, on-the-fly, turn on 1378 read-write colorcells, which makes things *much* faster. 1379 1380Added '-stdcmap' option and 'useStdCmap' resource. Instead of allocating a 1381 custom set of colors for each image, it will instead allocate a 1382 general set of colors once, and display all subsequent images using 1383 these colors. 1384 1385 The images don't look as good as if they used image-specific colors, 1386 but it avoids the ugly rainbow effects between images, since all 1387 images use the same colors. Important if you're doing 'animations' 1388 using '-wait'. Also, it speeds things up slightly. 1389 1390 Note: normally when you load images while using the StdCmap, they 1391 will be automatically dithered for you, as they look pretty nasty 1392 when they aren't dithered. The exception: If you're viewing an 1393 animation (which is one of the main reasons for the '-stdcmap' 1394 option), and you've said '-wait 0' (which means 'display as fast 1395 as possible), the auto dithering is turned off, to increase the 1396 speed of the animation. You can still manually turn it on in this 1397 case by using the '-dith' option, or just using '-wait 1'. 1398 1399 Note: There are a couple different sizes of 'standard' colormaps. 1400 If you're on a TrueColor/DirectColor display, it will use a 3/3/2 1401 colormap. Otherwise, it will try to use a 6*6*6 colormap, a 2/2/2 1402 colormap, or a 1/1/1 colormap, based on '-ncols' (or the depth of 1403 your display, if it's less than 8 bits). You can manually force 1404 it to use a smaller colormap than it would normally use by setting 1405 '-ncols'. (ncols < 216 will keep it from using the 6*6*6 cmap, and 1406 ncols < 64 will keep it from using the 2/2/2 cmap...) 1407 1408 Other note: normally, the use of the -stdcmap option will *not* 1409 affect how the image is saved (should you decide to Save an image). 1410 You can, however, write out images using the standard cmap by 1411 selecting the 'Reduced Color' option in the Save box. 1412 1413Deleted '-nglobal' option and resource. 1414 1415Bug fix: 'Maxpect' button in PostScript window wasn't working correctly 1416 in landscape mode. (Jim Belonis (belonis@dirac.phys.washington.edu)) 1417 1418Turned off 'ceditColorMap'. Now, by default, the color editor will be shown 1419 in the 'normal' colormap, rather than the image's colormap (when using 1420 '-perfect' or '-owncmap). This can be confusing when using the 1421 colormap editor, as the cells will *not* be shown in their correct 1422 colors, but it gets around the problem of not being able to *use* 1423 the color editor because it's being displayed in non-contrasting 1424 colors. 1425 1426Added feature: Now, when you save a file, it prints the # of bytes written. 1427 Useful, if you want to know how well your image was compressed. 1428 1429Bug fix: Wasn't correctly displaying on LSBFirst 16-bit displays 1430 (Stardent) (Arman Rivard (frog!arman@eddie.mit.edu)) 1431 1432Added some 'useful' default settings for the Color Editor presets (1-4). 1433 #1 is a 2-intensity setting. Image will be shown in black and fully- 1434 intense colors. Sort of makes pictures look like the 1435 credits to 'Saturday Night Live' did at some point in the 1436 past. 1437 #2 is a 8-color setting. Image will be shown in black, blue, green, 1438 cyan, red, magenta, yellow, and white 1439 #3 is a 'temperature' pseudo-color mapping for grayscale images. 1440 #4 is a 'geographic map' pseudo-color mapping for grayscale images. 1441 1442Added '-bdisable' option (and browseDisable resource). 1443 1444Turned off the 'autoClose' behavior, by default. Iconifying the image window 1445 will *not* affect the other windows. To get the old behavior (where 1446 iconfiying the image window iconified everything else), just specify 1447 the '-close' option, or set the 'xv.autoClose' resource to 'True'. 1448 1449Change: Changed '-browse' option to '-lbrowse' (and '.browseMode' resource 1450 to '.loadBrowse'), so as not to conflict with new 'visual browser 1451 related options/resources. ('-bmap' and '-bgeom' options and 1452 '.browseMap' and '.browseGeometry' resources) 1453 1454Added Feature: a '-poll' option. If turned on, XV will (attempt) to 1455 recognize when (if) the currently displayed file changes, and if 1456 so, it will reload it. This should let you easily use XV to monitor 1457 ALL SORTS OF THINGS, such as the progress of slow ftp transfers, 1458 the weather map (assuming you have the thing installed to 1459 automagically download the things and put the latest one in some 1460 standard place, say "current_weather.gif" or whatever...). 1461 1462 You could even use XV as a sort of framebuffer, to allow otherwise 1463 non-X programs to display graphics. Just have your program draw on 1464 its own internal 'frame buffer' (just a hunk of memory), and 1465 periodically write it out to a file. (As I've mentioned to 1466 anyone who'd let me, "The PBM/PGM/PPM file formats are *trivial* to 1467 write. Any program that manipulates images should be able to 1468 write a PBM/PGM/PPM file..."). Anyhow, periodically write stuff 1469 to a file, and have XV display the file with the '-poll' option 1470 turned on, and voila!, an output-only framebuffer for X workstations. 1471 1472Added Feature: Added an 'oilpaint' function to the 'Algorithms' menu. 1473 I got the basic idea from 'pgmoil.c', written by Wilson Bent', who 1474 in turn got it from this book called "Beyond Photography", written 1475 by some dude named 'Holzmann'. 1476 1477Bug fix: if your image only had two colors in it, and you wrote it out as 1478 a Sun Rasterfile, it would turn out in black and white, regardless 1479 of the 'FullColor/Greyscale/B&W Dither' setting. 1480 1481Added Feature: 'Algorithms' menu. Now you can run blurring algorithms, 1482 edge detection, 'tinfoil' effect, and such on an image. Note that 1483 these algorithms generate a new 'image', rather than just playing 1484 around with the way that the image is displayed. 1485 1486Enhancement: Timer() function should work better on SGI machines. 1487 (Fernando D. Mato Mira (matomira@ligsg13.epfl.ch)) 1488 1489Added Feature: '-gamma gval' option and '-cgamma rval gval bval' for 1490 setting gamma values in the Color Editor graphs from the command 1491 line. 1492 1493Added Feature: 'IntExpnd' button (keyboard equivalent 'I') rounds the 1494 width and height expansion factors to the nearest integer. 1495 1496Bug Fix: GIF87 files with an aspect ratio in them weren't being parsed 1497 properly. 1498 1499Enhancement: Many cleanups and the Imakefiles for the JPEG and TIFF subdirs 1500 (Jonathan I. Kamens (jik@pit-manager.mit.edu)) 1501 1502Enhancement: Modifications for compiling on ODT 2.0 systems. 1503 (Mike Patnode (mikep@sco.com)) 1504 1505Enhancment: If using '-root -maxpect' you can now use '-rmode' to specify 1506 how it will be displayed (though it will still default to the 1507 'root, centered' style). 1508 (Ted Grzesik (tedg@apollo.hp.com)) 1509 1510Enhancement: Modifications to get XV to compile on the Interactive Unix System 1511 (Eam Lo (eam@netcom.com)) 1512 1513Feature: Added '-random' command line option. Mainly used in conjunction 1514 with '-wait' to produce 'random' slideshows. Rather than running 1515 through the files in the order that they were specified on the 1516 command line, it will order them into a random sequence. Each file 1517 will only be displayed once. (Unless '-wloop' is also turned on, 1518 in which case each file will be displayed once per 'loop'.) 1519 1520 If used without '-wait', it will randomly pick one of the specified 1521 files to be displayed first. 1522 (Tim Ayers (ayers@mermaid.micro.umn.edu)) 1523 1524Bug Fix: Wasn't properly truncating leading path off of names displayed 1525 in control panel (after 'Load'ing a new file). 1526 (Elaine Chen (eychen@Athena.MIT.EDU)) 1527 1528Fixed bug in writing compressed PostScript. 1529 (Bill Hess (hess@tethys.apl.washington.edu)) 1530 1531Fixed bug that would crash on certain systems when trying to display a root 1532 image. (Eam Lo (eam@netcom.com)) 1533 1534Fixed bug that caused XV 2.21 (in 'root' modes) to eventually crash 1535 the OpenWindows X Server. 1536 (thanks to Jeremy Lawrence (jeremy@snrc.uow.edu.au) 1537 for his help in tracking the problem down) 1538 1539Added BMP (Microsoft Windows 3.x) format, for both reading and writing. 1540 Note: while it reads RLE4 and RLE8 compressed formats, it only 1541 writes in the uncompressed format. Given how few RLE4/RLE8 1542 BMP files I've seen out there (read: 'none'), this shouldn't be a big 1543 problem. 1544 1545Certain warning messages are now printed to stderr if neither the control or 1546 info windows are open. 1547 1548RLE file reading was busted. Wouldn't read colormapped RLE files, nor 1549 would it read RLE files that didn't have a background color 1550 specified. (reported by Peter Miller (pmiller@topaz.bmr.gov.au)) 1551 1552added window classes 'XVps', 'XVjpeg', 'XVtiff', 'XVconfirm' 1553 for the postscript, jpeg, tiff, and popup windows, respectively, 1554 so Motif users can do things like this: 1555 1556 Mwm*XVroot*clientDecoration: none 1557 Mwm*XVcontrols*clientDecoration: -resizeh 1558 1559XV should stop 'homing' windows into the top-left corner of virtual root 1560 windows. (Daren W. Latham (dwl@mentat.udev.cdc.com)) 1561 1562Support for 2-bit MSBFirst machines. 1563 (Dale Luck (dale@ntg.com) 1564 15651-bit Sun Rasterfiles weren't being written correctly. 1566 (Lars Bo Nielsen (lbn@hugin.dk)) 1567 1568Image colors are now preserved 'as long as possible' when in '-perfect' or 1569 '-owncmap' modes and changing images, thus minimizing the amount of 1570 time the image is shown with the 'rainbow effect' and maximizing the 1571 amount of time the image is shown with the correct colors. 1572 1573Image was being unnecessarily cleared when in '-perfect' or '-owncmap' modes. 1574 1575When saving images in B/W stippled format, *and* the image only has two colors 1576 in it, XV no longer does an explicit (and unnecessary) call to the 1577 the Floyd-Steinberg ditherizing routine. Not only will saved images 1578 be *exactly* what was on the screen (which wasn't necessarily the 1579 case, before), but it also saves a tremendous amount of work if you're 1580 huge b/w scanned image, which more and more folks seem to be 1581 doing. (Thanks to Lester Ingber (ingber@umiacs.umd.edu) 1582 for complaining about this misfeature) 1583 1584Added '-iconic' option, to start program with image window iconified. 1585 1586Gratuitous three-d-ification of most of the doo-dads, at least on color 1587 systems. 1588 1589Changed mouse button usage in Grab command. Button1 grabs a window, 1590 Button2 grabs an arbitrary rectangle, and Button3 cancels. 1591 (To be consistent with 'Button2' dragging a cropping rectangle in 1592 the image.) 1593 1594Bug fix: Shifted-arrow keys didn't work in Postscript window on OpenWindows 1595 servers. (Lester Ingber (ingber@umiacs.umd.edu)) 1596 1597Bug fix: Cleaned up some potential memory leaks. 1598 1599Bug fix: "xv -rw -mono" was coming out somewhat more colorful than might be 1600 desired. 1601 1602The Load/Save window file list now automagically positions itself so that 1603the filename is 'centered' in the file list region. 1604 1605Also, there's a new icon for executable files (in the Load/Save window) 1606 1607Now the 'Zoom In' rectangle is tracked until you release the mouse button. 1608 1609Fixed 'Timer()' function to use 'sginap()' on SGI machines. 1610 (James Nugent (james@ironbark.bcae.oz.au)) 1611 1612Improved Expose event handling (groups multiple exposes, and requests 1613 BackingStore on the ctrl, coledit, and image windows) 1614 (Robert Forsman (thoth@raybans.cis.ufl.edu)) 1615 1616YCBCR-encoded TIFF images didn't work 1617 (Bill Barabash (barabash@rachel.enet.dec.com)) 1618 1619If you entered a directory name and pressed 'Ok' in the load/save 1620 windows, XV would try to treat it as a plain file. 1621 (Bill Barabash (barabash@rachel.enet.dec.com)) 1622 1623Postscript 'previews' were generated 'inverted' (white-on-black instead of 1624 black-on-white) (Vivek Khera (khera@cs.duke.edu)) 1625 1626Minor memory leak in ColorDither() 1627 1628Configuration fix for 386's running SVR4 1629 (Andy Michael (eesrajm@brunel.ac.uk)) 1630 1631Bug Fix: If you opened the ColEdit Window, clicked on 'Norm', then 1632 clicked on 'Gam' in the Intensity graph, you'd get a nice random 1633 string of uninitialized data... 1634 (Michael Pall (pall@rz.uni-karlsruhe.de)) 1635 1636It'll now pop up a nice, friendly "Can't CD to that directory" dialog box 1637 if you try to cd to a directory that you don't have proper permissions 1638 to read. (idea: Peder Langlo (respl@mi.uib.no)) 1639 1640The selection and position of the directory list (in the Load/Save window) is 1641 now remembered, instead of being cleared each time you open the 1642 window. (idea: Peder Langlo (respl@mi.uib.no)) 1643 1644You can now switch color editor 'presets' by typing Meta-1, Meta-2, Meta-3, 1645 or Meta-4 in any XV window. Handy if you have a couple of 'standard 1646 modifications', and you don't want to bring up the big ol' 1647 color editor window just to click a single button. Also, just to be 1648 convenient, you can also press Meta-R (or Meta-0) to Reset the 1649 color editor. 1650 (idea: Phil Richards (pgr@prg.oxford.ac.uk)) 1651 1652Tweaks to xv.h to make it compile without modification on an HP running 1653 HPUX 8.*, in theory anyhow. 1654 (thanks: Tony Clark (tclark@hptc.mentorg.com)) 1655 1656 1657Rev: 4/28/92 (version 2.21) 1658------------------------------ 1659Since XDestroyImage() seems to fail to destroy the actual image data on 1660 some systems, I've replaced all calls to XDestroyImage() with 1661 xvDestroyImage(), which explicitly kills both the image data and 1662 the image structure. 1663 1664Added '-close' option (and 'autoClose' boolean resource) to toggle the 1665 "automatically close all windows when you iconify the image window" 1666 behavior. By default, this behavior is turned *on*. 1667 1668You can now specify just a width *or* a height in the '-geometry' spec. 1669 The other dimension will be calculated to preserve the aspect ratio. 1670 1671Makefile.std was *not* up to date. 1672 1673Various prototype fixes, Imakefile changed, etc. 1674 (David Brooks (dbrooks@osf.org)) 1675 1676Conflict with constant 'BITS' (defined in xvgifwr.c) on some systems. 1677 (Bernd Mohr (mohr@immd7.informatik.uni-erlangen.de)) 1678 1679'xwd.c' seems to have snuck into the 2.20 distribution. It has been excised. 1680 1681The '-expand' option didn't work with negative numbers, as it should. Also, 1682 '-e' didn't work, even though there are no other '-e*' options. 1683 (Marcel Wijkstra (wijkstra@fwi.uva.nl)) 1684 1685Minor AIX tweakage 1686 1687Some calls to rd_str() should have been rd_str_cl(), and other minor probs. 1688 (Andreas Stolcke (stolcke@icsi.berkeley.edu)) 1689 1690 1691Rev: 4/24/92 (version 2.20) 1692----------------------------- 1693Enhancement: In the color editor, you can now 'Set' the 'Reset' button, 1694 as well as presets 1-4. This is useful if you've like to temporarily 1695 set your 'default' settings for the remainder of the current XV 1696 session, without having to play around with 'xrdb'. For example, 1697 you might temporarily be using XV on a monitor with different 1698 color characteristics than the one you normally use. You could 1699 deal with this problem by playing with the r,g,b graphs, and then, 1700 once the image looks 'right' again, setting the 'Reset' button, so 1701 that all subsequent images will have this same modification applied 1702 to them. 1703 1704Enhancement: The '-wait' option works better. It now waits until the 1705 image has been fully drawn before starting the timer. Now, you're 1706 guaranteed that your images will be up at least as long as you 1707 specify with the '-wait' option (plus whatever time it takes to 1708 load and prepare the next image for display). 1709 1710 Also, you can now specify '-wait 0' to mean 'as fast as possible'. 1711 Handy if you're doing the weather map trick described below. 1712 1713Enhancement: The '-visual' option seems to actually *work* now. It only 1714 'theoretically' worked before (read: "didn't work at all"), as my 1715 X server only supports one visual, making testing impossible. 1716 Since then I've gotten my hands on a DecStation, which has an X 1717 server that supports several different 8-bit visuals. It should 1718 work with visuals of different depths, as well, but it might 1719 not. 1720 1721Enhancement: All places in the code that were hard-coded to use the directory 1722 "/tmp" (when creating temp files) now use the value of the environment 1723 variable TMPDIR, if defined, and "/tmp" if not. 1724 1725Added Feature: '-loadclear' command-line option (and 'clearOnLoad' boolean 1726 resource) lets you turn on the clearing of the image window 1727 (or root window) done whenever you load an image on a PseudoColor 1728 (or Grayscale) display. This clearing USED to be done by default, 1729 to hide the temporary 'rainbow' effect caused when colormap 1730 entries are freed and reallocated. This is no longer the case. 1731 I've decided that I find the effect vaguely entertaining (something 1732 to look at while waiting for the next image to load), and more 1733 importantly, if you have a series of images that use the same 1734 colors, you can now use XV to animate them (albeit no faster than 1735 a frame every 1-2 seconds). 1736 1737 Ferinstance, get the satallite radar images from vmd.cso.uiuc.edu, 1738 (in the directory 'phil.515'), and run 'xv -wait 0 -wloop SA*'. 1739 Just like the evening news! 1740 1741Added Feature: There's now a 'compressed' checkbox in the Postscript window. 1742 When enabled, XV will generate RLE-compressed Postscript files. Also, 1743 the images will be written as 8-bit data with a colormap. The 1744 practical upshot is that color PS files can now be *much* smaller. 1745 (Resource name: 'pscompress', type: boolean) 1746 1747 One note: Compressed images may take considerably longer to print 1748 than uncompressed images. As an example, the default XV pic took 1749 (on a LaserWriter II NTX): 1750 Color, Compressed: (87k) 4:00 (4 minutes, not hours!) 1751 Color, Uncompressed: (391k) 2:30 1752 Gray, Compressed: (85k) 1:40 1753 Gray, Uncompressed: (130k) :20 1754 1755 The lesson is: unless you're printing to a color printer, you're 1756 probably best off sending uncompressed grayscale Postscript. 1757 1758Added Feature: whizzo new 'Grab' command. Lets you grab any 1759 rectangular section of the screen into XV. To use, click on 1760 the Grab button (or type ctrl-G). The display will beep, and 1761 the cursor will change. Press the LEFT mouse button and draw 1762 a rectangle, or press the RIGHT mouse button to abort the 1763 grab. The grabbed portion of screen will be automatically 1764 loaded into XV for manipulation. 1765 1766 Alternately, you can click the MIDDLE mouse button on a window. 1767 The window (and its frame) will be snarfed into XV. 1768 1769 Used in conjunction with XV's extensive color manipulation thingys, 1770 you can now figure out the 'perfect' colors for your xterms, icons, 1771 xclocks, or any other thing you can get up on your X display. Finally, 1772 a replacement for the program 'pikapix' from the ol' X10 days! 1773 1774 For what it's worth, the Grab command doesn't work on Mac's 1775 running MacX in a 'rootless' mode, for semi-obvious reasons. 1776 (idea from: Arvind Sabharwal (arvind@brutus.ct.gmr.com)) 1777 1778Added Feature: XV can now read RLE files (Utah Raster Toolkit format). 1779 1780Added Feature: 'HistEQ' button in Color Editor window. Performs 1781 intensity histogram equalization on the CURRENTLY VIEWED 1782 PORTION OF THE IMAGE. Occurs between the colormap editor and the 1783 HSV modifier (in terms of the color editor data flow). This 1784 command has the general effect of balancing the overall contrast 1785 of the image (increasing contrast on washed-out images, and 1786 decreasing the contrast on overly-sharp images, so to speak...) 1787 It works best on grayscale images. 1788 1789 The keyboard equivalent is 'H' (capital 'h'). 1790 1791Change: The 'MaxCn' (maximum contrast) button has been changed to a 1792 'Norm' (normalize) button. It expands the intensity range of 1793 an image so that the darkest pixels will be have an intensity 1794 of '0' and the brightest pixels will have an intensity of '255'. 1795 1796 This is *almost*, but not quite, what it used to do. 1797 The keyboard equivalent is now 'N' (capital 'n'). 1798 1799Added Feature: You can now Load files from a pipe by having the first 1800 character in the Load box filename thingy be a '!' (or a '|'). 1801 For example, you can Load "! bggen -s 400 -w 400 0 0 255". 1802 XV will run the specified command, saving its standard output to 1803 a file, and then load this file. (The stdout produced must still 1804 be in one of the recognized image formats.) You could use this get 1805 an image from a video digitizer or scanner, assuming you have the 1806 appropriate filter program written. 1807 1808 You can pipe multiple commands together, as well. For example, 1809 you can Load "! xwd | xwdtopnm" to take a snapshot of a window 1810 and display it, though given the new Grab command, this isn't 1811 such a great example... 1812 (idea: Marty Leisner (leisner@eso.mc.xerox.com)) 1813 1814Change: The 'Save to pipe' feature is now specified by starting the 1815 filename with *either* a '!' or a '|' character, to 1816 be consistent with the 'Load from pipe' command. 1817 1818 1819Added Feature: exciting new 'zoom' and 'unzoom' commands! To use 1820 them, hold down the 'control' key, and move the mouse into the 1821 image window. A Left click will zoom in by a factor of two, 1822 centered on the mouse position. A right click will zoom out 1823 by a factor of two (if possible), centered around the 1824 currently displayed subimage. These commands can easily 1825 replace the Crop/UnCrop commands for casual users. 1826 (idea from: Dan Zehme (dan@mordor.webo.dg.com)) 1827 1828Added Feature: 'include preview' check box added to postscript dialog 1829 box. Let's you write ps files without the preview, to save 1830 some space. (resource name: 'pspreview', type boolean) 1831 1832Added Feature: all xv windows are closed if you iconify the image window 1833 (or the controls window if you're in a 'root' display mode). 1834 All closed windows will be reopened when you deiconify the image 1835 window (or controls window). One misfeature: only the 'main' 1836 xv windows (image, controls, info and color editor) will retain their 1837 screen position. The various 'pop-up' windows will not. To be 1838 dealt with at a later time. 1839 1840Enhancement: Support for 4" x 5" and 35mm postscript film recorders added 1841 1842Enhancement: Increased size of control window to make room for 1843 '24-bit conversion' menu button. List now displays 11 names 1844 instead of 9. 1845 1846Enhancement: Hooked in the new version (3.0) of the TIFF library. 1847 1848Bug fix: more bug fixes to the 'slow' 24-to-8 algorithm 1849 1850Bug fix: if loading a truncated interlaced GIF file (not that I recommend it), 1851 XV will no longer clear from the 'current line' to the bottom of the 1852 image, which would overwrite valid image data 1853 (Dean Elhard (elhard@system-m.za05.bull.com)) 1854 1855Bug fix: memory leak in the '-slow24' code discovered and fixed. 1856 (Dean Elhard (elhard@system-m.za05.bull.com)) 1857 1858 1859 1860Rev: 3/17/92 (version 2.12) 1861----------------------------- 1862Added Feature: 'save at normal size' checkbox in save window. When 1863 turned on, images will be saved at their normal, unexpanded 1864 (and *unshrunk*) size, subject to the current cropping and 1865 rotation. Note: The Dither and Smooth commands operate on 1866 expanded images. (In fact running Smooth on a 1:1 image 1867 should have no effect.) AS SUCH, images saved at 'normal size' 1868 will be saved 'Raw'. (Resource name: saveNormal type: boolean) 1869 1870Added Feature: You can now change 24-to-8-bit algorithms 1871 (ie, quick24, slow24, best24) while running the program 1872 (via a pop-up menu button). 1873 1874Added Feature: '-nolimits' option (and 'nolimits' resource). If set, there 1875 are no limits on the size of the image (beyond the X-imposed 64K 1876 by 64K). WARNING: Be *very* careful when using this option and 1877 playing with cropping, as it's dangerously easy to accidentally 1878 generate a HUGE image, and crash XV, the host machine, your X server, 1879 or all three. USE AT YOUR OWN RISK! 1880 (Tero Kivinen (kivinen@joker.cs.hut.fi)) 1881 1882Enhancement: X images (on 8-bit displays) are now generated so that 1883 scanlines are a multiple of 32 bits long. This should avoid 1884 problems with certain broken X libraries and/or servers that 1885 weren't doing the image format translation correctly. 1886 (Jeff Coffler (coffler@jeck.amherst.nh.us)) 1887 1888Enhancement: Changed scrollbar behavior: Now, when you drag the 1889 indicator, the list that the scrollbar controls is updated 1890 while you drag. 1891 1892Enhancement: when choosing a new directory (in the save menu), xv now remembers 1893 the 'suggested' filename to save under, instead of clearing the 1894 text entry doodad. 1895 1896Enhancement: Upped maximum number of files in control window list (and 1897 therefore, on the command line) to 4096 (from 1024). 1898 1899Enhancement: Hooked in the new version (3.0) of the JPEG libraries. Most 1900 relevant change: when loading JPEG files ONLY, the 'quick' and 1901 'slow' 24-to-8 algorithms are now performed by the JPEG 1902 software. They seem to be every bit as good or better than 1903 the XV algorithms. The 'best' algorithm still falls through 1904 to using the ppmquant-based algorithm in XV. 1905 (Tom Lane (Tom.Lane@g.gp.cs.cmu.edu)) 1906 1907 1908Change: by default, the 'keepAround' flag is now set to 'true'. 1909 Now, xv will hang around if you delete the last file in the 1910 controls list. (-keeparound toggles this flag on and off, and 1911 the keepAround resource still behaves the same way.) 1912 1913 1914Bug fix: Compound resources (eg 'xv.preset1.satval') weren't getting properly 1915 set on certain systems. 1916 (Dean Elhard (elhard@system-m.za05.bull.com)) 1917 1918Bug fix: XV will now (potentially) run 'better' under DXWM. 1919 1920Bug fix: 'Reduced Color' images weren't saving as such in either the 1921 PPM or TIFF formats. (They won't in JPEG, either, but trust 1922 me, you don't want to save reduced color images in the JPEG 1923 format...) 1924 1925Bug Fix: numerical inaccuracies in HSV modification part of color 1926 editor were causing certain colors to be lost (eg, an input of 1927 (254,254,254) was coming out (253,253,253), even when everything 1928 was set up to do a 1:1 mapping.) 1929 1930Bug Fix: minor memory leak in KillOldRootInfo() fixed. 1931 1932 1933 1934Rev: 3/4/92 (version 2.11) 1935----------------------------- 1936Problems with Imakefile fixed. (David Brooks (dbrooks@osf.org)) 1937 1938Problems with SetISTR() function declaration fixed. 1939 (David Brooks (dbrooks@osf.org)) 1940 1941Compiler noise shut up (Phil Karlton (karlton@fudge.asd.sgi.com)) 1942 1943 1944Rev: 2/26/92 (version 2.10) 1945----------------------------- 1946Generate updated documentation, this time on a Mac running System 7. The 1947 generated postscript *may* be cleaner. I hope... 1948 1949Incorporated Anthony Datri's PDS/VICAR file reading code 1950 1951Added '-rv' option (and 'reverse' resource). Displays 'negative' images 1952 (white becomes black, black becomes white, and colors do 1953 interesting things). 1954 1955Bug fix: shifted arrow keys (for adjusting cropping rectangle size) didn't 1956 work on Sparcstations running OpenWindows. 1957 1958 1959 1960Rev: 2/22/92 (version 2.06) 1961----------------------------- 1962Added whizzo new colormap editing feature. Click on a color cell with the 1963 left mouse button. Now click on another color cell with the middle 1964 mouse button. All colorcells in between these two colorcells will 1965 be interpolated between these two colors. 1966 1967 For example, view the 'default' image by just running 'xv' without 1968 any options. Open the color editor window, left-click on the first 1969 colorcell, and turn it 'red'. Left-click on the 64th colorcell 1970 (the rightmost cell on the last complete line of the colorcell grid), 1971 and turn this colorcell yellow. Now, middle click on the first 1972 colorcell. Voila! Niftily interpolated reddish yellows. Neato! 1973 1974Added 'reload on signal' feature. If you send the XV process a 'QUIT' signal 1975 ('kill -QUIT <pid>', or 'kill -3 <pid>' on most systems), the program 1976 will reload the currently selected file. (The one that is currently 1977 highlighted in the xv controls window filename list.) This behavior 1978 is exactly the same as hitting '<return>' in the xv controls window. 1979 If XV is currently in a state where hitting '<return>' in the 1980 controls window won't load an image (ie, some pop-up dialog box is 1981 grabbing all such events), then sending this signal won't work either. 1982 1983 Note: it also won't work if the current file was read from <stdin> 1984 1985Changed way 'uncrop' works to limit 'drifting' of windows when cropping and 1986 uncropping. Also, puts window back where it belongs when you load 1987 a new image. 1988 1989When cropping, Raw/Dithered/Smooth status of image will remain the same. 1990 When uncropping, however, it will revert to 'raw', given how long 1991 the dither/smooth operations can take on a potentially large image. 1992 1993Now tracks x,y coordinates of handles in the 'graph' windows of the color 1994 editor window, for precise placement. Also, you can now move a 1995 handle through all 256 x and y positions, not just the 'even' values. 1996 1997Bug fix to 24-to-8 code. (Would crash on a 1-bit display.) 1998 1999 2000 2001 2002Rev: 2/13/92 (version 2.04) 2003----------------------------- 2004tracked pixel values strings are now put in the 'cut buffer' with a trailing 2005 '\n' character 2006 2007'-black' and '-white' options now affect how all 1-bit b/w images are 2008 displayed, no longer just used in conjunction with '-ncols 0' 2009 2010Added command line options '-quick24', '-slow24', and '-best24' to select 2011 different 24-to-8 conversion algorithms. 'slow24' is the default. 2012 (Also, 'quick24' and 'best24' boolean resources) 2013 2014Added the 'ppmquant' 24-to-8 bit algorithm ('-best24' option). Note that 2015 this algorithm is *much* slower than the so-called '-slow24' algorithm. 2016 The major difference is that this algorithm will produce good-looking 2017 undithered images, whereas the 'slow24' algorithm dithers. 2018 2019Fixed various bugs in the '-slow24' 24-to-8 bit algorithm. 2020 2021Added '-cecmap' option (and 'ceditColorMap' resource) to specify whether or 2022 not to install the image's colormap in the color editor window 2023 2024TIFF i/o routines added (Sam Leffler (sam@sgi.com)) 2025 2026Added a 'browse' button in the Load window. Lets you change the 'browse mode' 2027 interactively, while the program is running. (See '-browse' option 2028 below.) 2029 2030Added 'autoApply', 'displayMods' and 'autoReset' resources to control initial 2031 settings of respective checkboxes in the color editor window. 2032 2033Program is less likely to gratuitously clear the image/root window if you are 2034 on a non-PseudoColor/GrayScale display 2035 2036increased size of 'OutCode[]' array in gif reader. 2037 (Rolf Mayer (rz90@rz.uni-karlsruhe.de)) 2038 2039load/save window used to crash if you had a directory with 'too many' files 2040 (Craig McGregor (CRAIG@csdvax.csd.unsw.EDU.AU)) 2041 2042 2043Rev: 1/24/92 (version 2.01) 2044----------------------------- 2045Added '-crop' option (and 'autoCrop' resource) to do the 'autocrop' command 2046 automatically whenever an image is loaded. 2047 2048Added '-browse' option (and browseMode resource). Keeps the Load window 2049 from being closed after succesfully loading a file. 2050 2051Added '-nostat' option (and 'nostat' resource) to speed up Load/Save 2052 windows. Prevents the program from doing 'stat()' calls when you 2053 change directories. (Useful for systems with a lot of remote 2054 files, where doing the stat() calls takes 'too long') 2055 Downside: it won't be able to mark directories with a 'folder' 2056 icon, as it won't *know* that they're directories. 2057 2058added '-noresetroot' option (and 'resetroot' resource). Let you turn off 2059 the 'clear the root when switching from a root mode back to 2060 window mode in the display modes menu' behavior. Useful for checking 2061 your cropping, if you're working on a 'mirrored' root background 2062 (or something) (David Elliot (dce@smsc.sony.com)) 2063 2064added a 'rescan' button in the Load and Save windows. Rescans the current 2065 directory. 2066 2067fixed up GIF89 parsing somewhat. 2068 2069fixed bugs in xvAllocColor() that would show up if running XV on a TrueColor 2070 display. 2071 2072PostScript files written in B/W Stipple weren't correct 2073 (Peter Glassenbury (pete@cosc.canterbury.ac.nz)) 2074 2075SortColormap() function in xvcolor.c sped up 2076 (Dave Jones (jonesd@kcgl1.eng.ohio-state.edu)) 2077 2078fixed problem with 'cropping rectangle' not being drawn correctly. 2079 2080Loads current directory only when opening the Load/Save windows, not 2081 when the program starts up. This is to improve startup time. 2082 2083Reloads current directory when you do a 'Delete file' command, just in 2084 case you deleted a file in the current directory. 2085 2086'hints' handling improved. When controls/info/coledit windows are closed 2087 and reopened, they reappear where they *were*, not where the 2088 original geometry spec put them. 2089 2090FREAD and FWRITE macros in jinclude.h renamed, to avoid conflicts. 2091 2092problems with 'XLookupString()' on VMS and AIX fixed 2093 (Dave Jones (jonesd@kcgl1.eng.ohio-state.edu)) 2094 2095patches for Sequent machines (Scott Erickson (sources@sherlock.ics.uci.edu)) 2096 2097Added 'fsQuick' code. Dithers (on 1-bit displays) 2 to 3 times faster 2098 than the old code. Looks about as good. 2099 (David B. Rosen (rosen@cns.bu.edu)) 2100 2101code for 2-bit displays (so to speak :-) added 2102 (Marc Kossa (M.Kossa@frec.bull.fr)) 2103 2104bug in parsing '-dither'/'-display' fixed 2105 (Nigel Pearson (nigel@socs.uts.edu.au)) 2106 2107Fixed crash if you hit 'return' while xv was running with no file names. 2108 2109fixed potential memory leak on systems where XDestroyImage() doesn't 2110 free the image data, only the structure. 2111 2112fixed '-fixed' option 2113 2114fixed bogus Macintosh prolog file in PS documentation. 2115 21168-bit characters in PS documentation turned into properly-escaped 2117 7-bit characters. (Reg Clemens (clemens@plk.af.mil)) 2118 2119minor mods for RS6000 (Tom McConnel (tmcconne@sedona.intel.com)) 2120 2121new (still unsupported) version of VICAR/PDS file handler added to 2122 unsupt/ directory (Anthony Datri (datri@concave.convex.com) 2123 2124fixed segmentation fault in openPic() (Jimmy Aitken (jimmy@pyra.co.uk)) 2125 2126fixes for Pyramid BSD machines (Jimmy Aitken (jimmy@pyra.co.uk)) 2127 2128fixed 'tolower' bug in lower_str function (Rich Thomson (rthomson@dsd.es.com)) 2129 2130patches for AUX systems 2131 2132some ANSI C complaints quieted (Jamie Zawinski (jwz@lucid.com)) 2133 2134fixed WM_DELETE property problems (Jamie Zawinski (jwz@lucid.com)) 2135 2136Changed occurrences of string 'basename' to 'basefname' to avoid conflict on 2137 certain systems, and fixed a bug in rd_int() 2138 (David Elliot (dce@smsc.sony.com)) 2139 2140fixed bug that could cause window to move bizarrely on a 'Max Size' command 2141 2142make 'clean' dependancy added to Imakefile 2143 (Rainer Klute (klute@irb.informatik.uni-dortmund.de)) 2144 2145 2146 2147 2148Rev: 1/2/92 (version 2.00) 2149----------------------------- 2150*** SUN Rasterfile support (Dave Heath (heath@cs.jhu.edu)) 2151 2152fixed unclosed comment in xv.h (Paul Close (pdc@sgi.com)) 2153 2154fixed infinite loop in Imakefile (Kjetil Jorgensen (jorgens@lise.unit.no) 2155 2156fixed problems in Imakefile (bitmaps.h wasn't being rebuilt) 2157 (Jonathan Kamens (jik@pit-manager.mit.edu)) 2158 2159additional bug fixes/workarounds for 24/32-bit TrueColor displays 2160 (Dave Gregorich (dtg@csula-ps.calstatela.edu)) 2161 2162include string.h or strings.h based on 'SYSV' flag 2163 (Kevin Brown (brown@hpbsm15.boi.hp.com)) 2164 2165bogus command line parsing ('-autogamma' wouldn't work) 2166 (Doug Washburn (washburn@hpmpea2.cup.hp.com)) 2167 2168fixed 4-bit X code to work on MSBFirst machines 2169 (Stefan Esser (se@ikp.Uni-Koeln.DE)) 2170 2171mods for HPUX 7.0 (Jan D. (jhd@irfu.se)) 2172 2173added window classes 'XVroot', 'XVcontrols', 'XVdir', 'XVinfo', and 'XVcedit', 2174 so Motif users can do things like this: 2175 2176 Mwm*XVroot*clientDecoration: none 2177 Mwm*XVcontrols*clientDecoration: -resizeh 2178 Mwm*XVdir*clientDecoration: -resizeh -maximize 2179 Mwm*XVcedit*clientDecoration: -resizeh -maximize 2180 Mwm*XVinfo*clientDecoration: -resizeh -maximize 2181 2182 Also, WM_DELETE_WINDOW is now set up in the WM_PROTOCOLS 2183 property, allowing the 'close' menu selection under MWM to 2184 close an XV window without terminating the application. 2185 (Jan D. (jhd@irfu.se)) 2186 2187slow 24-to-8 conversion was moving the image down 1 scan-line 2188 (Satoshi Asami (asami@is.s.u-tokyo.ac.jp)) 2189 2190mods for MIPS machines (David Boulware (dgb@landau.phys.washington.edu)) 2191 2192Ability to LOAD pictures that weren't specified on the command line 2193 2194fixed bug in CheckForConfig() 2195 2196twm workaround from patchlevel 2 now only turned on if '-twmkludge' option is 2197 specified. Was causing problems on OpenLook 2.0 systems 2198 2199directories and symbolic links are now sorted together at the top of 2200 the 'xv directory' list 2201 2202fixed crashes when 'AutoCropping' in conjunction with '-root' option 2203 2204file format/color buttons in Directory window are now set whenever an image 2205 is loaded. (Set to the format/color of the loaded image.) 2206 2207clicking anywhere inside the Info box will now close it 2208 2209added support for up/down arrows, page up/down, home, and end keys when 2210 mouse is in control window or directory window (for operating 2211 the scrollable list thingy) 2212 2213changed 'Return' key binding to mean 'display currently selected picture' 2214 rather than 'Next' 2215 2216added binding of Tab key to 'Next' function 2217 2218'-wait' now waits until picture is fully up on screen before starting timer 2219 2220'-wloop' option added. Causes '-wait' slideshow to loop at end 2221 2222added 'hagan-style' tiling on the root window. '-root', '-center', and 2223 '-rpat 0' (the default) will now draw an image centered on the 2224 root window, with images going off the screen in all 4 directions 2225 2226 (Unlike 'normal' ('-root' only) tiling, which has one image 2227 pinned in the top-left corner of the screen, and subsequent 2228 images going off the screen ONLY on the bottom and right sides) 2229 2230added '-maxpect' option. (An abbreviation for '-center -fixed -max') 2231 makes the image as large as possible, without changing the 2232 aspect ratio. Only relevant when used in conjunction with 2233 '-root'. (When not using '-root', both '-max' and '-maxpect' do 2234 the same thing (as large as possible without changing the aspect). 2235 When USING '-root', '-max' makes the image the size of the screen, 2236 in all likelyhood changing the aspect ratio) 2237 2238added '-olwm' option (and xv.olwm resource) for people using Sun's OpenLook 2239 window manager. Makes the window behave correctly when resized via 2240 any of the xv resizing commands. 2241 2242added new, slicker-looking icon. The old one was outside Motif's accepted 2243 range of icon sizes. 2244 2245SMOOTHING controls (Smooth, Dither, and Raw buttons) added 2246 2247added '-cursor' option (and xv.cursor resource). Allows you to pick a 2248 different cursor for the image window (instead of the 2249 default crosshair cursor) 2250 2251various modifications to work somewhat better with tvtwm (or other 2252 virtual window managers) 2253 Hitoshi Saji saji@is.s.u-tokyo.ac.jp 2254 Tetsuya Ikeda tetsuya@is.s.u-tokyo.ac.jp 2255 Satoshi Asami asami@is.s.u-tokyo.ac.jp 2256 2257fixed up some multiple-redraw bugs, for improved speed 2258 2259Added spiffy 'hue' and 'saturation' dials to cedit box 2260 2261New format for '-GAMMA' command line option and gamma resources. Fully 2262 specifies state of gamma controls, including 'lines/spline' and 2263 'rgb/hsv' modes 2264 2265Improved 'undo' handling in Gamma box. 2266 2267Added 'reduced' color save. Used in conjunction with the '-nc' command 2268 line option. Saves the image more-or-less 'as shown', rather than 2269 "as it's supposed to be". For example, you can now save bizarrely 2270 stippled pictures by doing something like '-nc 0 -wh red -bl blue' 2271 on the command line, and then saving the image in 'reduced color'. 2272 2273 2274added '-adither', '-asmooth' options (and 'xv.autoDither', 'xv.autoSmooth' 2275 resources) to automatically dither or smooth the image upon 2276 loading it. Mainly for use the case where you want XV to 2277 load an image onto the root window and go away without any user 2278 intervention. (Like you might put in a startup script.) 2279 2280added some X error handling so that XV doesn't blow up (ungraciously) when 2281 you're using '-root' on an X terminal that doesn't have enough 2282 memory to do a full-screen root image 2283 2284code reorganization: xv.c and xvmisc.c have been split into (xv.c, xvevent.c, 2285 xvroot.c) and (xvmisc.c, xvimage.c, xvcolor.c, xvsmooth.c) 2286 respectively. The files were getting annoyingly large. 2287 2288added colormap editing capabilities to the gamma box 2289 Colors can be edited in either HSV mode or RGB mode 2290 You are modifying the original colormap of the image, BEFORE 2291 the '-mono' or '-rv' options are applied, BEFORE 2292 any GAMMA correction is applied, and before it's 2293 determined how to get the image on the screen. 2294 As a result, it's best to edit colors when the GAMMA 2295 controls are set to 'Linear' 2296 You can select the color to be edited by clicking in the colormap 2297 area of the GAMMA box, or by clicking in the image window 2298 (in which case the color selected will match the last pixel 2299 value you displayed) 2300 Using '-rw' mode will generally speed things up, but isn't 2301 necessary. 2302 2303added colormap 'grouping'. Use Button3 to add/delete color cells from the 2304 current group. Hold shift key down and the image regeneration 2305 will be delayed until you let go of the shift key. (normally 2306 the image would be redrawn every time you released Button3.) 2307 This allows you you quickly group multiple pixels. 2308 2309added 'cut buffer' usage. Whenever you track pixel values (by clicking the 2310 left button in the image window), the last pixel values are put in 2311 the X cut buffer, so that you can paste them into your own program, 2312 an xterm window, or whatever. Useful if you're using XV to choose 2313 'points-of-interest' to be used as input to another program. 2314 2315 Also, if you click on the gamma values (above the graph in the 2316 gamma window), those values will be put in the cut buffer as well. 2317 (Handy for setting default values for the Gamma resources.) 2318 2319added a slightly-improved 'cropping' rectangle. Should show up better on some 2320 pictures. 2321 2322added hsv pixel display. When tracking pixel values in the image window 2323 (with the left mouse button), the values will either be displayed 2324 as R,G,B components (0-255), or as HSV components (0-359, 0-100, 0-100) 2325 This is based on the setting of the HSV/RGB switch in the Gamma box. 2326 2327added a 'Randomize Colors' button. (keyboard equiv: 'R'). 2328 Causes the entire colormap of the current picture to be 2329 randomized. Groupings *will* be respected, however. (ie, all pixels 2330 in a group will still have the same color, albeit a new one). For 2331 amusing effects, do some by-hand color reduction (by grouping all 2332 similar colors), then do the randomize function. 2333 2334added an 'Undo All' button in the Gamma box. Undoes all changes made to the 2335 image's colormap and clears all groupings. 2336 2337added '-hsv' and '-rgb' switches (and xv.hsvmode resource (boolean)) to 2338 allow user to set initial hsv/rgb mode. By default, program uses 2339 RGB. 2340 2341fixed 'shift key' bug with regards to entering filenames in dir window 2342 2343'enter' in file i/o window now opens the currently selected directory 2344 2345fixed bugs on 1-bit displays (fish cursor didn't flap during re-ditherization, 2346 CMap wasn't properly refreshed after loading new pic) 2347 2348Smooth/Dither now sets 'Current Size' RButt in file i/o box. (Need to save 2349 at current size to save 'smoothed' picture.) 2350 2351BadAccess errors cause by XFreeColors are now ignored, as this is simply a 2352 sign of a busted X server, and happens when multiply-allocated 2353 colors are freed more than once. (like they're supposed to be) 2354 Should make '-bfc' option obsolete. 2355 2356Current Size RButt ripped out. (Always saves at current size) 2357 2358flapping fish cursor added during PBM/PGM/PPM file i/o 2359 2360created GRAF type 2361 2362MASSIVE modifications to GAMMA box 2363 2364Gamma box renamed 'Color Editor' box ('cedit') 2365 2366Added direct numeric gamma input to GRAF boxes 2367 2368Created HDIAL controls 2369 2370Changed non-range HDIAL to be a hue/saturation control 2371 2372Created CBUTT check boxes 2373 2374Added 'drag the whole range around' feature in range HDIALs 2375 2376Added -nopos, -fgeom, and -fmap command line options (and resources) 2377 2378Fixed 'crop near corner' graphics bug 2379 2380Fixed multiple redraw bug, with any luck. 2381 2382Added '-2xlimit' option and resource. Allows the image window to be larger 2383 than the screen (up to 2x). *NOT* recommended unless your WM 2384 is capable of operating windows without visible borders. (ie, you'll 2385 need some meta-mouse-button action, ala twm/uwm...) 2386 2387Added rudimentary GIF89 reading. (Jon Brinkmann, jvb7u@astro.Virginia.Edu) 2388 2389Changed ISTR_INFO to be more to Hagan's liking. 2390 (eg "320x200 GIF87. Got all 37 colors.") 2391 2392Fixed some probs in xvsunras.c 2393 (didn't understand RT_FORMAT_RGB, and RT_BYTE_ENCODED 8-bit 2394 rasterfiles didn't load correctly, nor did it handle odd-width 2395 24-bit images correctly) 2396 2397Added POSTSCRIPT OUTPUT and PostScript Box (7/6/91) 2398 Drag the image window around on the page with the mouse. The scale 2399 controls are used for stretching. Note: if you use the arrow keys 2400 (regular and shifted), you can get precise positioning control. 2401 2402Added GIF89 aspect ratio handling, warning message about skipped extensions, 2403 PlainText block handling (doesn't do anything with it) 2404 2405Ripped out the '-fish' option and related code. Never worked right anyway. 2406 2407Added ability to type long strings in 'filename' field of dir box. 2408 2409Split 'file i/o' button into two buttons 'Load' and 'Save'. Directory box 2410 is now either a 'Load box' or a 'Save box', depending. (^L and ^S 2411 are the accelerators). 2412 2413Added ability to type pathnames in 'filename' field. And 'cd-ing' to different 2414 directories directly without going through pesky UI. 2415 2416Added 'popup' windows. (The computer seems to be on fire. <Ok> ) 2417 2418Stretched ctrlW so that 'helvetica' font would still fit (Ultrix 4.2 doesn't 2419 include 'lucida' still...) 2420 2421Added 'close' (via mwm menu) handling to PostScript window and PopUp window. 2422 2423Added wait cursor during directory-reading (whenever you change directories) 2424 2425Fixed PostScript file output (to have correct comments) 2426 2427Added 'maxpect' button in PS window. 2428 2429Hooked up remaining buttons in ColEdit window (undo, redo, 2430 brite, dim, sharp, dull) 2431 2432Got rid of 'recolor' operations when non-visible changes made to Graf's 2433 (changes of less than '2' aren't visible due to coordinate halving) 2434 2435Added 'max contrast' button to gamma window 2436 2437Added 'C' and 'R' keyboard equivs for 'MaxCnt' and 'Reset' respectively 2438 2439Added 'default' picture (xvdflt.c) 2440 2441Added 'Flip H' and 'Flip V' buttons ('h' and 'v' keyboard equivs) 2442 2443Redesigned ctrl window somewhat 2444 2445When you 'Load' files (via the Load dialog box), the file names are stuck 2446 in the 'ctrlW' list for E-Z Re-Viewing... 2447 2448Added ability to 'reload' current picture (by double clicking on its entry 2449 int the ctrl window list) 2450 2451Added 'Delete' command. ('^D' keyboard equiv) 2452 2453Mods to work (better) on Apollo systems 2454 (Robert Goodwill (robert@earth.cs.jcu.edu.au)) 2455 2456Added support for 16-bit displays 2457 (David Elliot (dce@smsc.sony.com)) 2458 2459Improved 24-to-8 color compression routines 2460 (Tom Lane (Tom.Lane@g.gp.cs.cmu.edu)) 2461 2462Improved color selection algorithm 2463 (Tom Lane (Tom.Lane@g.gp.cs.cmu.edu)) 2464 2465Flag resources now accept 'on', '1', 'true', 'yes' in either u/l case 2466 (Chris Weikart (weikart@prl.dec.com)) 2467 2468Fixed potential overflow bug in linear interpolation code 2469 (Chris Weikart (weikart@prl.dec.com)) 2470 2471Added Motif-Style 3-d buttons 2472 2473Added 'Auto-Reset' check box in ColEdit window 2474 2475Optimization to ColEdit: if changing a control hasn't actually 2476 affected the 'desired colormap', don't bother applying the change 2477 2478Changed 'graf' controls: you can now hold down the shift key and modify them 2479 to your hearts content. The image is not actually recomputed until 2480 you let go of the shift key. 2481 2482Added '-hi' and '-lo' options ('highcolor' and 'lowcolor' resources) for 2483 setting the 'other' two colors on the buttons. 2484 2485Added '-v' option ('visual' resource) to allow the user to force XV to use a 2486 specific visual type, rather than the server default. 2487 2488Added gamma resources. Hooked up 'Get Resources' button (copies current 2489 gamma settings into the cut buffer) 2490 2491Ripped out '-tile', '-center', and '-rpat' options. Replaced them with 2492 '-rmode' option ('rootMode' resource) 2493 2494Added mirrored tiling and integer mirrored tiling root modes. 2495 2496PopUp window now pops up with the right-most button centered under the mouse, 2497 rather than in the middle of the screen. 2498 2499Added '^D' accellerator key (for 'Disk File') in the 'Delete What' PopUp box. 2500 2501Changed '-asmooth' and '-adither' to '-smooth' and '-dither', respectively. 2502 2503Added stricter command line argument matching. '-snausage' no longer would 2504 match the '-s' flag. 2505 2506Changed way '-expand' (and 'expand' resource) works. Now takes floating 2507 point number. For backwards compatibility, negative numbers are 2508 still treated as reciprocals. (ie, both '-2' and '.5' will halve 2509 the image) 2510 2511Created 'MBUTT' pop-up menu widget. 2512 2513Added 'Display Modes' popup button. 2514 2515Fixed bug when using '-perfect'. The XCopyColormapAndFree() function had the 2516 rather undesirable side effect of getting rid of the allocated 2517 colors used for the various windows, etc. (ie, more than the 2518 image colors) 2519 2520Made 'Hagan-Style' tiling (aka, Centered Tiling) much more efficient 2521 (Robert Potter (rpotter@grip.cis.upenn.edu)) 2522 2523Made the 'directory' listing in the load/save box use an MBUTT. 2524 2525Added JPEG support. (Markus Baur (s_baur@iravcl.ira.uka.de)) 2526 (and, of course, the Independent JPEG Group) 2527 2528Added '-keeparound' flag (and 'keepAround' resource). By default, if you 2529 'delete' the last file remaining in the ctrl window list, 2530 the program will auto-exit. This option overrides that behavior. 2531 2532Ripped out '-fgeom' and '-fmap' options (and 'fileGeometry' resource). 2533 Load/Save boxes now come up wherever the mouse is. 2534 2535Wrote OpenOutFile() and CloseOutFile() routines to unify redundant code 2536 in 'DoSave()' and 'writePS()' 2537 2538Added 'piped' output. (ie, save file "| lpr") 2539 2540Added 'Alert' boxes (button-less PopUp's) 2541 2542Bug fixes when loading/saving '~' files 2543 2544Fixed PS output to be Encapsulated PostScript compatible 2545 2546Added a faked 'colorimage' procedure for grayscale PS printers. 2547 (Color postscript files will print on non-color printers, albeit in 2548 grayscale.) 2549 2550New Window positioning code. Should work for (nearly) all WMs. 2551 (Matthew Stier (matthew@sunpix.East.Sun.COM)) 2552 2553Automatically smooths images that were 'shrunk' (2x, 4x, etc...) 2554 2555Bug fixes to the JPEG i/o code. (Tom Lane (Tom_Lane@G.GP.CS.CMU.EDU)) 2556 2557Fixed problem in xv24to8.c with the Floyd-Steinberg dithering code. 2558 (Charles Hannum (mycroft@gnu.ai.mit.edu)) 2559 2560Modified 'Delete' behavior. Only loads an image if you deleted the 2561 currently-viewed image. 2562 2563Changes the suffix of the filename in the 'save window' when you change 2564 file formats. 2565 2566Got rid of 'Quit XV' buttons in load and save windows 2567 2568Added extra verbiage to JPEG save window. 2569 2570Dicked around some more with window positioning code. Seems to work 2571 correctly in TWM and MWM. Hopefully, it'll work in OLWM as well. 2572 2573Added Makefile options and xv.h #ifdefs for Encore's UMAX 2574 version of Unix System V. (Drew Watson (dwatson@encore.com)) 2575 2576Added '-owncmap' option (and 'ownCmap' resource) to make XV *always* 2577 use/install its own colormap. (Bill Turner (bturner@cv.hp.com)) 2578 2579 2580Rev: 11/29/90 (version 1, patchlevel 3) 2581----------------------------- 2582 2583Changed 'CCOPTIONS' to 'DEFINES' in Imakefile 2584 2585Fixes for use with virtual root window managers (ie, tvtwm) 2586 (only cares about virtual root when using '-root' option, 2587 negative geometry's correctly handled.) 2588 (Andreas Stolcke (stolcke@ICSI.Berkeley.EDU)) 2589 2590Modifications for Sequent machines (no 'mem*() routines) 2591 (Daniel Pommert (daniel@ux1.cso.uiuc.edu)) 2592 2593Modifications to avoid bug in certain optimizers, most notably the default 2594optimization (-O) in Sun's C compiler. (Incorrectly handles lines of the 2595sort "*p = array[*p]") 2596 2597Modification to get around 'when I shift my arrow keys (to adjust the 2598cropping rectangle), my keyboard generates numbers instead' problem 2599 (Mark Horstman (mh2620@sarek.sbc.com) 2600 2601Modification to allow 'xsetroot' and 'xloadimage' to cleanup any 2602xv-displayed images in the root window, and vice-versa. 2603 (Richard Bingle (bingle@cs.purdue.edu)) 2604 2605 2606 2607Rev: 11/26/90 (version 1, patchlevel 2) 2608----------------------------- 2609added workaround for 'X Protocol Errors' on broken servers (XFreeColors()) 2610 (see the '-bfc' option) 2611fixed core dump when cropping on certain displays 2612misc. #ifdefs for HPs 2613fixed problem with fish cursor remaining around too long 2614more SVR4 #ifdefs (David Elliott, dce@smsc.sony.com) 2615fixed bug in tracking pixel values (Bob Finch, bob@gli.com) 2616misc #ifdefs for ISC 386/ix 2.0.2 (Mark Snitily mark@zok.uucp) 2617misc #ifdefs for AT&T machines (Eric Raymond eric@snark.thyrsus.com) 2618misc #ifdefs for Silicon Graphics (Paul Close pdc@lunch.wpd.sgi.com) 2619Added POSIX signal handling (Mike Patnode (mikep@sco.com)) 2620Port to SCO UNIX/ODT (Mike Patnode (mikep@sco.com)) 2621 2622fixed problem with using '-max' and '-fixed' at same time 2623 (Greg Spencer greg@longs.lance.colostate.edu) 2624modification to work with Virtual Root Windows (ala swm and tvtwm) 2625 (Bill Kucharski kucharsk@solbourne.com) 2626 2627the 'save-as' filename is now set to the 'current' filename 2628 2629Also, if you double click on 'plain' files in the directory box, 2630 it will set the 'save-as' filename accordingly. 2631 2632Added ability to view images centered on the root window, without 2633 any tiling. Added associated options ('-center', '-rfg', '-rbg', 2634 and '-rpat') 2635 2636Workaround for twm 'No title bars' bug 2637 (Steve Swales steve@bat.lle.rochester.edu) 2638 2639Bidirectional Rotate commands added 2640 2641Maxpect command added: (Maximum size, but preserve aspect ratio) 2642 2643AutoCrop command added: (Crops out solid borders.) 2644 2645Potential support for 32-bit displays. (Hasn't been tested. Don't have one.) 2646 2647 2648Rev: 10/17/90 (version 1, patchlevel 1) 2649------------------------------ 2650Imakefile added (David Elliot (dce@smsc.sony.com)) 2651System V release 4 mods (David Elliot (dce@smsc.sony.com)) 2652Bug in 'quick check' fixed (Arthur Olson (ado@elsie.nci.nih.gov)) 2653Mods for Convex machines (Anthony Datri (datri@convex.com)) 2654'vprintf' module added (Jonathan Kamens (jik@pit-manager.mit.edu)) 2655window creation bug fixed 2656added icon 2657fixed 'Input Focus' probs 2658added '-w' flag to bggen 2659various cleanups to shut up 'noisy' compilers 2660 2661 2662Rev: 10/9/90 (version 1, patchlevel 0 - initial release) 2663 2664