*========================================================================
*
* Name - README
*
* Version:	1.5
*
* ccsid:	@(#)README	1.5 - 7/26/91 13:21:49
* from: 	ccs/s.README
* date: 	7/26/91 13:22:27
*
* Copyright (C) 1990, 1991, Bruce Schuchardt
* See either the man page or the file cpyright.h for full copyright
* information.
*
* Description:  README for xgrabsc, patch level 3
*
*========================================================================

When I first wrote xgrabsc, there were a number of programs available
for getting X-Window screen dumps (e.g., xwd and xwps), but they
were all restricted to dumping a single window in a single format.
I wrote xgrabsc in an effort to get around these restrictions.

The main contribution of this program is its use of root-window
rubberbanding to allow capture of arbitrary portions of the screen,
and its multiple output formats (x-bitmap, x-pixmap, xwd, puzzle,
"simple", and several Postscript formats).

The Postscript dumps will use run-length encoding if it results in
any savings in size.  A typical xterm window dump on a mono system
runs around 40K bytes.  An xwd dump on the same screen will be around
650K bytes.  While the xpr program has a "compress" option, it only
compresses white samples.  Reducing the size of the output increases
the cost of computing the dump and the final printing of the dump,
but it reduces the cost of storage and the time to transfer the dump
to your printer.  The latter is especially important for large screen
dumps.

The puzzle program only supports the "picture" option for 8-plane
systems, so please don't tell me that it doesn't work on your
monochrome system.  I already know it doesn't.

Xgrabsc should build easily enough.  If you don't have the imake
program, use simple.mak (i.e., make -f simple.mak).  There are targets
for xgrabsc, install, install.man, and clean.  E.g.,
  make
  make install
  make install.man
  make clean

The install target will put xgrabsc in /usr/bin/X11 and the
man page in /usr/man/man1.  Change simple.mak before installing
with it if you don't like these locations.


Please send comments, bugs, enhancements (and gratuities :-)
to bruce@slc.com.


 Manifest
 ---------------------------------
 README              this file
 README.patchxxx     files describing incremental changes to xgrabsc

 Acks                acknowledgements for code gleaned from other
                     systems
 Bugs                known bugs - read this before sending bug reports

 Imakefile           Input for "imake" program
 simple.mak          Simpler input for standard "make"

 cpyright.h          Copyright notice for this software (READ IT)
 ps_color.h          Bob Tatar's colorimage operator for mono systems
 patchlevel.h        Current patch level
 xgrabsc.c           Program source

 xgrabsc.man         Man page for xgrabsc




BUILD OPTIONS:

The compilation flag -DNO_RLE_CHECKS will eliminate a pass that xgrabsc
makes over the source image to determine whether compression of Postscript
output will actually result in size savings.

For Postscript display devices that do not define the colorimage operator,
I have included Bob Tatar's version of colorimage that converts to
gray scale output.  This operator is only used if the interpreter does
not already have colorimage, and it is not included unless you explicitly
ask for a color dump.  If you are sure you will never need it, compile
with -DNO_COLORIMAGE_PROC.

For machines with no memcpy() or memset() routines in their standard
libraries, conditionally compiled routines were added to xgrabsc.c.
Compile with -DMEMCPY to use these routines.



TO DO:

Support for 24-bit displays.  If someone wants to give this a shot, please
let me know.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  Bruce Schuchardt          Ph: (503) 629-8383
  Servio Corp.              bruce@SLC.COM
  15220 NW Greenbrier Pkwy
  Beaverton, OR
