 
	README 1.4 88/01/18

This directory contains the source to nterm, the scrolling VT102 terminal
emulator and TextCanvas, a server-side text storage and display facility.
Both nterm and TextCanvas are in the prototype stage. Even though they
are quite useful right now, expect some basic structural changes in
the future.

Nterm is built using a TextCanvas on the server side and a gutted version
of xterm, the X window terminal emulator, on the client side. The original
xterm was about 17,000 lines of code. nterm ended up with 6000 lines on
the client side and 2400 lines on the server. 

There is quite a bit of xterm in the nterm client side. Much of the code
remains the same. Don't be surprised by variable names that have retained
their original heritage (ie. Xsocket, xterm_name).

There is much work still to do on both the client and server sides.
There's lots of room for overall nterm performance improvement, especially
for things like caret movement. There are a few VT102 features not yet
implemented (these are documented in the nterm man page). There are some
xterm features not yet implemented. Option setting from the command
line, the UserProfile dictionary, the menu, and from escape sequences
needs to be greatly expanded and made consistent.  And, of course, 
there are all sorts of nterm specific things that can be done (such 
as an escape code that will interpret incoming text as PostScript and  
execute it). 
   
The client side needs to be cleaned up and have the xterm leftovers removed. 
TextCanvas is the start of a general-purpose text facility for NeWS. 
The additional features needed to achieve this goal are documented in the 
comments included in the textcan.ps file. See the front of textcan.ps
for a fairly complete TextCanvas User's Guide.

The files in this directory are as follows:

VTparsetbl.c	- VT102 escape sequence parser
charproc.c	- VT102 operations implementation
data.c		- Global data declarations
input.c		- Keyboard input handler
main.c		- Command line parsing and setup
misc.c		- NeWS input interface + miscelleneous
tabs.c		- Tabbing routines

textcan.ps	- TextCanvas implementation
NeWSwin.ps	- NeWS window with scrollbars
NeWSSbar.ps	- Scrollbar subclass
nterm.ps	- nterm-specific menus, window, etc.

NeWS.cps	- CPS interface file. This contains a client-side interface
                  to the TextCanvas and an initialization routine. All
		  the .ps files are #included in the definition of the
		  initialization routine.
NeWS.cps.dbg	- Version of NeWS.cps that dynamically loads the .ps files
		  at runtime. This makes debugging much easier.

termcap		- nterm termcap entries. You are strongly encouraged to 
		  install these termcap entries on your system. They result
                  in significant performance gains.
textcan.demo	- Server-only TextCanvas demo. This allows you to easily
		  explore the workings of a TextCanvas. See notes in the 
		  beginning of this file.


		Steve Isaac
		Sun Microsystems
		sai@sun.COM
