11 XV 2 An interactive image display for the X Window System. XV is 3 an X11 program that displays images in the GIF, PBM, PGM, PPM, X11 4 bitmap, JPEG, TIFF, Sun Rastefile, RLE, and PM formats on 1-, 4-, 5 6-, 8-, 16-, 24-, and 32-bit X displays. xv will also read 6 compress-ed versions of these files. 7 8 NOTE: This man page is merely the text portion of the 9 (PostScript) XV docs, without the figures, and without the 10 appendicies. As such, it is highly recommended that you get your 11 hands on the *real* documentation. 12 13 ALSO NOTE: This file documents XV 2.21, *not* XV 3.00. 14 15 Execution Format: 16 xv [options] [filename [filename ...]] 17 18 192 OVERVIEW 20 XV lets you do a large number of things (many of them actually 21 useful), including, but not limited to, the following: 22 23 o display an image in a window on the screen 24 o display an image on the root window, in a variety of styles 25 o grab any rectangular portion of the screen and turn it into 26 an image 27 o arbitrarily stretch or compress the image 28 o rotate the image in 90--degree steps 29 o flip the image around the horizontal or vertical axes 30 o crop a rectangular portion of the image 31 o magnify any portion of the image by any amount, up to the 32 size of the screen 33 o determine pixel values and x,y coordinates in the image 34 o adjust image brightness and contrast with a gamma correction 35 function 36 o apply different gamma functions to the Red, Green, and Blue 37 color components, to correct for non-linear color response 38 o adjust global image saturation 39 o perform global hue remapping 40 o edit an image's colormap 41 o reduce the number of colors in an image 42 o dither in color and b&w 43 o smooth an image 44 o crop off solid borders automatically 45 o convert image formats 46 o generate Encapsulated PostScript 47 48 Unfortunately the Automatic Checkbook Balancing Module still 49 isn't completely debugged, and is not included in this 50 distribution. 51 522 Starting_XV 53 NOTE: Unless explicitly stated otherwise, the term "click" 54 means "click with the Left mouse button." 55 56 Start the program up by typing 'xv'. After a short delay, a 57 window will appear with the default image (the XV logo, credits 58 and revision date) displayed in it. If you change the size of the 59 window (using whatever method your window manager provides), the 60 image will be automatically stretched to fit the window. 61 622 Options 63 XV supports literally dozens of command line options and X11 64 resources. Fortunately, it is doubtful that you'll ever need to 65 use more than a small few. The rest are provided mainly for that 66 'one special case' application of XV ... 67 68 If you start XV with the command 'xv -help', the current list 69 of options will be displayed: 70 71 xv [-] [-2xlimit] [-aspect w:h] [-best24] [-bg color] [-black 72 color] [-browse] [-bw width] [-cecmap] [-cegeometry geom] 73 [-cemap] [-cgeometry geom] [-clear] [-cmap] [-cursor char#] 74 [-DEBUG level] [-display disp] [-dither] [-expand exp] [-fg 75 color] [-fixed] [-geometry geom] [-help] [-hi color] [-hsv] 76 [-igeometry geom] [-imap] [-keeparound] [-lo color] 77 [-loadclear] [-max] [-maxpect] [-mono] [-ncols #] [-nglobal] 78 [-ninstall] [-nolimits] [-nopos] [-noqcheck] [-noresetroot] 79 [-nostat] [-owncmap] [-perfect] [-quick24] [-quit] [-rbg 80 color] [-rfg color] [-rgb] [-rmode #] [-root] [-rv] [-rw] 81 [-slow24] [-smooth] [-visual type] [-wait seconds] [-white 82 color] [-wloop] [filename ...] 83 843 General_Options 85 -help 86 Print usage instructions, listing the current available 87 command-line options. Any unrecognized option will do this as 88 well. 89 90 -display disp 91 Specifies the display that XV should attempt to connect to. 92 If you don't specify a display, XV will use the environment 93 variable $DISPLAY. 94 95 -fg color (Resource name: foreground string) 96 Sets the foreground color used by the windows. 97 98 -bg color (Resource name: background string) 99 Sets the background color used by the windows. 100 101 -hi color (Resource name: highlight string) 102 Sets the highlight color used for the top-left edges of the 103 control buttons. 104 105 -lo color (Resource name: lowlight string) 106 Sets the lowlight color used for the bottom-right edges of the 107 control buttons, and also the background of some windows. 108 109 -bw bwidth (Resource name: borderWidth integer) 110 Sets the width of the border on the windows. Your window 111 manager may choose to ignore this, however. 112 1133 Image_Sizing_Options 114 -geometry geom (Resource name: geometry string) 115 Lets you specify the size and placement of the 'image' window. 116 It's most useful when you only specify a position, and let XV 117 choose the size. If you specify a size as well, XV will 118 create a window of that size, unless -fixed is specified. The 119 geom argument is in the form of a normal X geometry string 120 (e.g. ``300x240'' or ``+10+10'' or ``400x300+10+10''). 121 122 -fixed (Resource name: fixed boolean) 123 Only used in conjunction with the -geometry option. If you 124 specify a window size with the -geometry option, XV will 125 normally stretch the picture to exactly that size. This is 126 not always desirable, as it may seriously distort the aspect 127 ratio of the picture. Specifying the -fixed option corrects 128 this behavior by instructing XV to use the specified geometry 129 size as a maximum window size. It will, however, preserve the 130 original aspect ratio of the picture. 131 132 For example, if you give a rectangular geometry of '320x240', 133 and you try to display a square picture with a size of 134 '256x256', the window opened will actually be '240x240', which 135 is the largest square that still fits in the '320x240' 136 rectangle that was specified. 137 138 -expand exp (Resource name: expand floating-point) 139 Lets you specify an initial expansion or compression factor 140 for the picture. You can specify floating-point values. 141 Values larger than zero multiply the picture's dimensions by 142 the given factor. ( i.e., an expand factor of '3' will make a 143 320x200 image display as 960x600). 144 145 Factors less than zero are treated as reciprocals. (i.e., an 146 expand factor of '-4' makes the picture 1/4th its normal 147 size.). '0' is not a valid expansion factor. 148 149 -aspect w:h (Resource name: aspect string) 150 Lets you set an initial aspect ratio, and also sets the value 151 used by the Aspect control. The aspect ratio of nearly every 152 X display (and, in fact, any civilized graphics display) is 153 1:1. What this means is that pixels appear to be 'square'. A 154 100 pixel wide by 100 pixel high box will appear on the screen 155 as a square. Unfortunately, this is not the case with some 156 screens and digitizers. The -aspect option lets you stretch 157 the picture so that the picture appears correctly on your 158 display. Unlike the other size-related options, this one 159 doesn't care what the size of the overall picture is. It 160 operates on a pixel-by-pixel basis, stretching each image 161 pixel slightly, in either width or height, depending on the 162 ratio. 163 164 Aspect ratios greater than '1:1' (e.g., '4:3') make the 165 picture wider than normal. Aspect ratios less than '1:1' 166 (e.g. '2:3') make the picture taller than normal. (Useful 167 aspect ratio: A 512x480 image that was supposed to fill a 168 standard 4x3 video screen (produced by many video digitizers) 169 should be displayed with an aspect ratio of '5:4') 170 1713 Color_Allocation_Options 172 -ncols nc (Resource name: ncols integer) 173 Sets the maximum number of colors that XV will use. Normally, 174 this is set to 'as many as it can get'. However, you can set 175 this to smaller values for interesting effect. Most notably, 176 if you set it to '0', it will display the picture by dithering 177 with 'black' and 'white'. (The actual colors used can be set 178 by the -black and -white options, below.) 179 180 -nglobal (Resource name: nglobal boolean) 181 Adjusts the way the program behaves when it is unable to get 182 all the colors it requested. Normally, it will search the 183 display's default colormap, and 'borrow' any colors it deems 184 appropriate. These borrowed colors are, however, not owned by 185 XV, and as such, can changed without xv's permission, or 186 knowledge. If this happens, the displayed picture will 187 change, in a less-than-desirable direction. If you specify 188 the -nglobal option, XV will not use 'global' colors. It will 189 only use colors that it successfully allocated, which makes it 190 immune to any color changes. 191 192 It should be noted that 'use global colors' is the default 193 because color changes aren't generally a problem if you are 194 only using XV to display a picture for a short time. Color 195 changes only really become a problem if you use XV to display 196 a picture that you will be keeping around for a while, while 197 you go and do some other work (such as using XV to display a 198 background). In such cases you will want to specify -nglobal. 199 Note: using the -ncols or -root options automatically turn on 200 -nglobal. 201 202 -rw (Resource name: rwColor boolean) 203 Tells XV to use read/write color cells. Normally, XV 204 allocates colors read-only, which allows it to share colors 205 with other programs. If you use read/write color cells, no 206 other program can use the colors that XV is using, and 207 vice-versa. The only reason you'd do such a thing is that 208 using read/write color cells allows the Apply function in the 209 xv color editor window to operate much faster. 210 211 -perfect (Resource name: perfect boolean) 212 Makes XV try 'extra hard' to get all the colors it wants. In 213 particular, when -perfect is specified, XV will allocate and 214 install its own colormap if (and only if) it was unable to 215 allocate all the desired colors. This option is not allowed 216 in conjunction with the -root option. 217 218 -owncmap (Resource name: ownCmap boolean) 219 Like '-perfect', only this option forces XV to always allocate 220 and install its own colormap, thereby leaving the default 221 colormap untouched. 222 223 -cecmap (Resource name: ceditColorMap boolean) 224 Specifies whether xv installs the image's colormap in the xv 225 color editor window, as well as in the image's window. By 226 default, the program does install the colormap in the color 227 editor window, however this can occasionally make the color 228 editor window unreadable. (This option only apples when the 229 '-perfect' or '-owncmap' options create their own colormaps.) 230 231 -ninstall (Resource name: ninstall boolean) 232 Prevents XV from 'installing' its own colormap, when the 233 -perfect or -owncmap options are in effect. Instead of 234 installing the colormap, it will merely 'ask the window 235 manager, nicely' to take care of it. This is the correct way 236 to install a colormap (i.e., ask the WM to do it), 237 unfortunately, it doesn't actually seem to work in many window 238 managers, so the default behavior is for XV to handle 239 installation itself. However, this has been seen to annoy one 240 window manager (dxwm), so this option is provided if your WM 241 doesn't like programs installing their own colormaps. 242 2433 24-bit_Conversion_Options 244 The following options only come into play if you are using XV 245 to display 24-bit RGB data (PPM files, color PM files, JPEG files, 246 and the output of bggen). They have no effect whatsoever on how 247 GIF pictures or 8-bit greyscale images are displayed. 248 249 -quick24 (Resource name: quick24 boolean) 250 Forces xv to use the 'quick' 24-bit to 8-bit conversion 251 algorithm. This algorithm dithers the picture using a fixed 252 set of colors that span the entire RGB colorspace. In 253 versions of xv prior to 2.10, this was the default algorithm. 254 It no longer is. 255 256 -slow24 (Resource name: slow24 boolean) 257 Specifies that the 'slow' 24-bit to 8-bit conversion algorithm 258 is to be used by the program. This algorithm uses a version 259 of Heckbert's median cut algorithm to pick the 'best' colors 260 on a per-image basis, and dithers with those. This is the 261 current default conversion algorithm. 262 263 Advantages: The -slow24 algorithm often produces better 264 looking pictures than the -quick24 algorithm. 265 266 Disadvantages: The -slow24 algorithm is about half the speed 267 of the -quick24 algorithm. Also, since the colors are chosen 268 on a per-image basis, it can't be used to display multiple 269 images simultaneously, as each image will almost certainly 270 want a different set of 256 colors. The -quick24 algorithm, 271 however, uses the same exact colors for all images, so it can 272 display many images simultaneously, without running out of 273 colors. 274 275 -best24 (Resource name: best24 boolean) 276 Forces xv to use the same algorithm used in the program 277 ppmquant, written by Jef Poskanzer. This algorithm also uses 278 a version of Heckbert's median cut algorithm, but is capable 279 of picking 'better' colors than the -slow24 algorithm, and it 280 doesn't dither. 281 282 Advantages: Generally produces slightly better images than 283 the -slow24 algorithm. Also, the images are undithered, so 284 they look better when expanded. 285 286 Disadvantages: Much slower than the -slow24 algorithm. Like, 287 5 to 10 times slower. The images produced aren't that much 288 better than those produced by the -slow24 algorithm. 289 290 -noqcheck (Resource name: noqcheck boolean) 291 Turns off a 'quick check' that is normally made. Normally, 292 before running either of the 24-bit to 8-bit conversion 293 algorithms, XV determines whether the picture to be displayed 294 has more than 256 unique colors in it. If the picture 295 doesn't, it will treat the picture as an 8-bit colormapped 296 image (i.e., GIF), and won't run either of the conversion 297 algorithms. 298 299 Advantages: The pictures will be displayed 'perfectly', 300 whereas if they went through either of the conversion 301 algorithms, they'd be dithered. 302 303 Disadvantages: Often uses a lot of colors, which limits the 304 ability to view multiple images at once. (See the -slow24 305 option above for further info about color sharing.) 306 3073 Root_Window_Options 308 XV has the ability to display images on the root window of an 309 X display, rather than opening its own window (the default 310 behavior). When using the root window, the program is somewhat 311 limited, because the program cannot receive input events (key 312 press and mouse clicks) from the root window. As a result, you 313 cannot track pixel values, or crop, nor can you use keyboard 314 commands while the mouse is in the root window. 315 316 -root (Resource name: <none>) 317 Directs XV to display images in the root window, instead of 318 opening its own window. Exactly how the images will be 319 displayed in the root window is determined by the setting of 320 the -rmode option. 321 322 -rmode mode (Resource name: rootMode integer) 323 Determines how images are to be displayed on the root window, 324 when -root has been specified. You can find the current list 325 of 'modes' by using a mode value of '-1'. XV will complain, 326 and show a list of valid modes. The current list at of the 327 time of this writing is: 328 329 0: tiling 330 1: integer tiling 331 2: mirrored tiling 332 3: integer mirrored tiling 333 4: centered tiling 334 5: centered on a solid background 335 6: centered on a 'warp' background 336 7: centered on a 'brick' background 337 338 The default mode is '0'. See ``Section 3.5: The Display 339 Modes Menu'' for a description of the different display modes. 340 341 -noresetroot (Resource name: resetroot) 342 Normally, when changing from root to window display mode, the 343 root is set to the standard X crosshatch pattern. Using 344 -noresetroot or setting resetroot to false will force the root 345 to remain. This is useful when comparing between different 346 tiled images. 347 348 -rfg color (Resource name: rootForeground string) 349 Sets the 'foreground' color used in some of the root display 350 modes. 351 352 -rbg color (Resource name: rootBackground string) 353 Sets the 'background' color used in some of the root display 354 modes. 355 356 -max (Resource name: <none>) 357 Makes XV automatically stretch the image to the full size of 358 the screen. This is mostly useful when you want XV to display 359 a background. While you could just as well specify the 360 dimensions of your display ('-geom 1152x900' for example), the 361 -max option is display-independent. If you suddenly decide to 362 start working on a 1280x1024 display (ferinstance) the same 363 command will still work. Note: If you specify -max when you 364 aren't using -root, the behavior is slightly different. The 365 image will be made as large as possible while still preserving 366 the normal aspect ratio. 367 368 -maxpect (Resource name: <none>) 369 Makes the image as large as possible while preserving the 370 aspect ratio. 371 372 -quit (Resource name: <none>) 373 Makes XV display the (first) specified file and exit, without 374 any user intervention. Since images displayed on the root 375 window remain there until explicitly cleared, this is very 376 useful for having XV display background images on the root 377 window in some sort of start-up script. Needless to say, this 378 is only useful if you are using -root. 379 380 -clear (Resource name: <none>) 381 Clears the root window of any extraneous XV images. Note: it 382 is not necessary to do an 'xv -clear' before displaying 383 another picture in the root window. XV will detect that 384 there's an old image in the root window and automatically 385 clear it out (and free the associated colors). 386 3873 Window_Options 388 XV currently consists of three main windows, plus one window 389 for the actual image. These three windows (the xv controls 390 window, the xv info window, and the xv color editor window) may be 391 automatically mapped and positioned when the program starts. 392 393 -cmap (Resource name: ctrlMap boolean) 394 Maps the xv controls window. 395 396 -cgeom geom (Resource name: ctrlGeometry string) 397 Sets the initial geometry of the xv controls window. Note: 398 only the position information is used. The window is of fixed 399 size. 400 401 -imap (Resource name: infoMap boolean) 402 Maps the xv info window. 403 404 -igeom geom (Resource name: infoGeomet string) 405 Sets the initial geometry of the xv info window. Note: only 406 the position information is used. The window is of fixed 407 size. 408 409 -cemap (Resource name: ceditMap boolean) 410 Maps the xv color editor window. 411 412 -cegeom geom (Resource name: ceditGeometry string) 413 Sets the initial geometry of the xv color editor window. 414 Note: only the position information is used. The window is 415 of fixed size. 416 417 -nopos (Resource name: nopos boolean) 418 Turns off the 'default' positioning of the various XV windows. 419 Every time you open a window, you will be asked to position 420 it. (Assuming your window manager asks you such things. mwm, 421 for instance doesn't seem to ask.) 422 4233 Miscellaneous_Options 424 -mono (Resource name: mono boolean) 425 Forces the image to be displayed as a greyscale. This is most 426 useful when you are using certain greyscale X displays. While 427 XV attempts to determine if it's running on a greyscale 428 display, many X displays lie, and claim to be able to do 429 color. (This is often because they have color graphics boards 430 hooked up to b/w monitors. The computer, of course, has no 431 way of knowing what type of monitor is attached.) On these 432 displays, if you don't specify -mono, what you will see is a 433 greyscale representation of one of the RGB outputs of the 434 system. (For example, you'll see the 'red' output on our 435 greyscale Sun 3/60s.) The -mono option corrects this behavior. 436 437 -white color (Resource name: white string) 438 Specifies the 'white' color used when the picture is b/w 439 stippled. (When '-ncols 0' has been specified.) 440 441 -black color (Resource name: black string) 442 Specifies the 'black' color used when the picture is b/w 443 stippled. (When '-ncols 0' has been specified.) 444 445 Try something like: 'xv -ncols 0 -bl red -wh yellow 446 <filename>' for some interesting, late-'60s-style psychodelia 447 effects. 448 449 -wait secs (Resource name: <none>) 450 Turns on a 'slide-show' feature. Normally, if you specify 451 multiple input files, XV will display the first one, and wait 452 for you to give the Next command (or whatever). The -wait 453 option makes XV wait the specified number of seconds, and then 454 go on to the next picture, without any user intervention. The 455 program still accepts commands, so it's possible to 'abort' 456 the current picture without waiting the full specified time by 457 using the Next command. 458 459 -wloop (Resource name: <none>) 460 Normally, when running a slide-show with the -wait option, XV 461 will terminate after displaying the last image. If you also 462 specify the -wloop option, the program will loop back to the 463 first image and continue the slide-show until the user issues 464 the Quit command. 465 466 -rgb (Resource name: hsvMode boolean) 467 Specifies that, by default, the colormap editing dials in the 468 xv color editor window should be in RGB mode. This is the 469 normal default behavior. 470 471 -hsv (Resource name: hsvMode boolean) 472 Specifies that, by default, the colormap editing dials in the 473 xv color editor window should be in HSV mode. 474 475 -dither (Resouce name: autoDither boolean) 476 When specified, tells XV to automatically issue a Dither 477 command whenever an image is first displayed. Useful on 478 displays with limited color capabilities (4-bit and 6-bit 479 displays.) 480 481 -smooth (Resource name: autoSmooth boolean) 482 When specified, tells XV to automatically issue a Smooth 483 command whenever an image is first displayed. This is useful 484 when you are using one of the image sizing options (such as 485 '-expand' or '-max'). 486 487 -crop (Resource name: autoCrop boolean) 488 When specified, tells xv to automatically issue an AutoCrop 489 command whenever an image is first displayed. 490 491 -visual vistype (Resource name: visual string) 492 Normally, XV uses the default visual model provided by your X 493 server. You can override this by explicitly selecting a 494 visual to use. Valid types are StaticGray, StaticColor, 495 TrueColor, GrayScale, PseudoColor, and DirectColor. Not all 496 of these are necessarily provided on any given X display. Run 497 xdpyinfo on your display to find out what visual types are 498 supported. 499 500 -cursor curs (Resource name: cursor integer) 501 Specifies an alternate cursor to use in the image window 502 (instead of the normal 'cross' cursor). curs values are 503 obtained by finding the character number of a cursor you like 504 in the 'cursor' font. (Run 'xfd -fn cursor' to display the 505 cursor font.) For example, a curs value of '56' corresponds to 506 the (singularly useless) 'Gumby' cursor. 507 508 -keeparound (Resource name: keepAround boolean) 509 By default if you Delete the last file in the XV controls 510 list, the program will automatically exit, as a convenience. 511 If you find this an inconvenience. 512 513 -2xlimit (Resource name: 2xlimit boolean) 514 By default, XV prevents the image window from ever getting 515 larger than the screen. Unfortunately, because of this, if 516 you load an image that is larger than your screen, the image 517 will be shrunk until it fits on your screen. Some folks find 518 this undesirable behavior. Specifying the -2xlimit option 519 doubles the size limitations. The image window will be kept 520 from getting larger than 2x the width and height of your 521 screen. 522 523 Just in case you're wondering why there's any size 524 limitations: it's fairly easy to accidentally ask for a huge 525 image to be generated. Simply crop a section of the image, 526 zoom so you can see the individual pixels, and uncrop. If 527 there were no size limitations, the (expanded many times) 528 image could be huge, and might crash your X server. At the 529 very least, it would take a long period of time, and freeze 530 your X server during part of it. Generally undesirable 531 behavior. 532 533 -nolimits (Resource name: nolimites boolean) 534 For the truly daring, this turns off all limitations on the 535 maximum size of an image window. (Well, there's still an 536 X-imposed maximum size of 64k by 64k, but that really 537 shouldn't be a problem.) Warning: as mentioned above, it is 538 fairly easy to accidentally generate a huge image when you do 539 an UnCrop command, and you may well crash xv, your X server, 540 the host machine, or all three. Use At Your Own Risk!!! 541 542 -rv (Resource name: reverse) 543 Makes xv display a 'negative' of the loaded image. White 544 becomes black, and black becomes white. Color images will 545 have 'interesting' effects, as the RGB components are 546 individually reversed. For example, red (255,0,0) will become 547 cyan (0,255,255), yellow will become blue, and so on. 548 549 -DEBUG level (Resource name: <none>) 550 Turns on some debugging information. You shouldn't need this. 551 If everything worked perfectly, I wouldn't need this either. 552 Specifying '-' all by itself tells XV to take its input from 553 stdin, rather then from a file. This lets you put XV on the 554 end of a Un*x pipe. 555 5562 Limitations 557 XV will NOT work on displays that aren't 1-, 4-, 6-, 8-, 16- 558 24-, or 32-bits deep. Luckily, that should still cover nearly 559 every display out there. It may not work on certain 6- or 24-bit 560 displays. 561 562 It also only displays the first image in GIF files that have 563 multiple images in them. 564 565 As for PM pictures, this program only displays 1-plane PM_I 566 pictures, or 1-, 3-, or 4-plane PM_C pictures. 567 5682 Authors 569 John Bradley - bradley@cis.upenn.edu 570 571 GIF reading code based on gif2ras.c, by Patrick J. Naughton 572 (naughton@wind.sun.com) 573 574 GIF writing code essentially unchanged from code written by 575 Michael Maudlin (mlm@cs.cmu.edu). 576 577 SUN Rasterfile i/o code written by Dave Heath (heath@cs.jhu.edu) 578 579 JPEG interface code written by Markus Baur 580 (s_baur@iravcl.ira.uka.de) 581 582 JPEG i/o code provided by the Independent JPEG Group. 583 584 VMS port by David Jones (jonesd@kcgl1.eng.ohio-state.edu), 585 and Rick Dyson (Dyson@IowaSP.Physics.UIowa.EDU). 586 5871 BGGEN 588 Generates colored backgrounds on X11 displays. BGGEN is a 589 program that generates a width-pixel wide by size-pixels high 590 vertical stripe. The top of the stripe is in color (r1,g1,b1), 591 and the bottom of the stripe is in color (rn,gn,bn). Intermediate 592 colors are interpolated between these colors. If you specify more 593 than 2 colors, the stripe passes through all the specified colors, 594 in the order specified. 595 596 The '-b' option specifies the number of significant bits in 597 the (output) color specifications. It must range between 1 and 8, 598 inclusive. Use values less than 8 (the default) to limit color 599 use by increasing the color granularity. 600 601 Values for 'r', 'g', and 'b' should range between 0 and 255, 602 inclusive. 0 means 'off', and 255 means 'fully on'. 603 604 BGGEN doesn't actually affect your background directly. BGGEN 605 merely generates a small PPM (Portable Pixmap Format) datafile 606 that XV can read and display. 607 608 To use BGGEN , you should pipe its output into an XV command, 609 such as: "xv -root -quit -slow24" 610 611 The default 'size' is 1024 pixels, which should be as tall as 612 your display. If your display is taller than that, you should 613 specify its actual height, otherwise you will get a bizarre 614 repeating effect, that you probably didn't want. Note: If you 615 specify small values of '-s', you can get some neat effects. 616 617 The '-w' argument has been added to improve the performance of 618 various stippling algorithms (as in XV). More information to work 619 with, and such. Try using '-w 16' on these command lines to see 620 what is meant. 621 622 Execution format: 623 BGGEN [-w width] [-s size] [-b bits] 624 r1 g1 b1 [r2 g2 b2 ... rn gn bn] 625 6262 Examples 627 628 Light Blue to Dark Blue: 629 BGGEN 100 100 255 50 50 150 | xv -ro -q -sl "-" 630 RGB Rainbow: 631 BGGEN 0 0 255 0 255 0 255 0 0 | xv -ro -q -sl "-" 632 Green Cylinders: 633 BGGEN 0 0 0 0 255 0 0 0 0 -s 128 | xv -ro -q -sl "-" 634 Blue to Magenta: 635 BGGEN 0 0 255 200 0 100 | xv -ro -q -sl "-" 636 Full Rainbow: 637 BGGEN 0 0 255 0 255 255 0 255 0 255 255 0 255 0 0 638 | xv -ro -q -sl "-" 639 Repeating Rainbow: 640 BGGEN 0 0 255 0 255 255 0 255 0 255 255 0 255 0 0 641 255 0 255 0 0 255 -s 256 | xv -ro -q -sl "-" 642 6432 Bugs 644 It'd probably be nice if the program used some X calls to 645 determine screen size. It'd also probably be nice if the program 646 could take colors by 'name', and also by hexadecimal value. 647 6482 Author 649 John Bradley - bradley@cis.upenn.edu 650