The Simple X Protocol Compressor

This program provides compression of the X protocol stream. 
It is intended to be used to improve the performance of X applications 
over a slow internet connection.  (e.g. slip,cslip. or term)  It assumes 
a Unix operating system at  both ends of the link.  Transferring large 
bitmaps or images through sxpc may be slower than not using it. 
The algorithms used are geared primarily for the data exchanged 
during interactive use where the same data may be sent several times 
with only small changes.  (e.g. editing) 

 WARNING WARNING  DANGER DANGER 
 If you use this program use xauth to provide SECURITY, since 
 host-based security will be BYPASSED.   See README.xauth.

Compilation: 
sxpc must be compiled and run on both systems.

xmkmf 
make 
If this doesn't work you may have to compile it manually, if your compiler 
claims to be ANSI, but you don't have stdlib.h use -DNOSTDLIBPLEASE, if 
your system is POSIX try -D_POSIX_SOURCE.  If your system is vanilla BSD 
cc -I/usr/local/include -o sxpc sxpc.c should just work.  If  the symbol
gethostname is undefined try compiling with -DNOGETHOSTNAME. 
(To set any -D flags edit the Makefile or for example:
make DEFINES="-D_POSIX_SOURCE -DNOHOSTNAME" sxpc)

If you want sxpc to use additional compression and you are not using term
as your internet link you can get term 1.07 from:
tartarus.uwa.edu.au:/pub/oreillym/term
tsx-11.mit.edu:/pub/linux/SLS/a2/term107.tgz

Then compile one file from term and recompile sxpc:
cd <your term source directory>
make compress.o
	 (if it fails you may need to edit the Makefile)
cd <your sxpc source directory>
make DEFINES=-DTERMCOMPRESS COBJ=<your term source directory>/compress.o

The compression provided by term is best suited for improving interactive performance.


Usage: 
If your internet link is through term see README.term for more information.

On X server host: 
sxpc local $DISPLAY 

On X clients' host: 
For csh based shells: 
setenv DISPLAY `sxpc remote $DISPLAY ` 

For sh based shells: 
DISPLAY=`sxpc remote $DISPLAY` 
export DISPLAY 
(where $DISPLAY is the display setting you would normally use 
to connect to the X server from the clients' host.) 

Thanks To:
Bill Reynolds (bill@goshawk.lanl.gov) for README.term and README.how.
Christopher Lau (lau@enel.ucalgary.ca) for bug reporting.

-Rob Ryan 
robr@cmu.edu 
/* sxpc: Transfer compressed X protocol data over a slow network connection. 
   Copyright (C) 1993 Rob Ryan And Carnegie Mellon University - All
rights reserved 

This file is part of sxpc  version 1.0. 
sxpc version 1.0  is free software; you can redistribute it and/or modify 
it under the terms of the GNU General Public License as published by 
the Free Software Foundation; either version 1, or (at your option) 
any later version. 

sxpc version 1.0 is distributed in the hope that it will be useful, 
but WITHOUT ANY WARRANTY; without even the implied warranty of 
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
GNU General Public License for more details. 

You should have received a copy of the GNU General Public License 
along with sxpc; see the file COPYING.  If not, write to 
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */ 
