
                The Motif VT Widget system and applications

                              VERSION 1.3

                              April 14th, 1997

                       Author: Bruce M. Corwin


    This is the third publicly available distribution of the VT Motif widget.
The VT widget is approximately a VT320 level emulation minus REGIS and soft
character loading but having ANSI color escape sequences some VT241 color
control and many unique additional features.  It is a composite widget
with the ability to generate child widgets that scroll and output like
characters.  Graphics display in the form of XBM (Motif 1.2 and greater) or
XPM (Motif 2.0 and greater).  These graphics can be sent to the VT widget over
a normal terminal communications link (such as telnet) as well.  The blinking
attribute IS supported as well as the double width and double height line
attributes (Unlike many other X emulators).  The support for double width and
double height is not as complete as it could be but should be sufficent for
most applications.  There is also support for dragging strings to the widget
from drag and drop type widgets like lists and labels.  There is full
copying and pasting of text to and from the Motif clipboard.  Graphics copying
and pasting is not supported in this release.  There is support for a
fully configurable menu system similar to the .mwmrc or .twmrc type format.
This menu system can be used to launch applications on the host you are logged
into.

    For release 1.2 there are several improvements in how the Vt Widget is
written.  It now conforms to more standard methods of widget behavior and
coding.  Future movement in this direction is also expected.  New features
with Version 1.2 include keyboard scrolling of the screen data and hopefuly
faster layout.

    Release 1.3 introduced more correct behavior for XmGadgets and for creating
children programaticaly.  Now programaticaly created children are managed the
same way as children created by escape sequences.  Escape sequences now exist
to raise popup dialogs for errors, warnings, info, waiting and file selection.
Finaly, there is new support for a color background pixmap being defined.  In
Motif 2.0 this allows color XPM to be placed behind the text of the display.

    Sadly, all these features come at a price.  That price is performance.  This
issue is still being worked.  A small sample API is provided for applications
that run on the bterm application.  This API accesses several of the unique
capabilities such as child widget creation and control.

    This distribution currently runs on both the HPUX and Linux operating
systems and will probably compile to one extent or the other for other operating
systems with Motif 1.2 or above including Motif 2.0.  To begin run xmkmf -a
on the base directory and then type make.  Then if every thing compiles
correctly check the bin directory for two applications that use the VT widget
and some other applications meant to run on a bterm.

    Here is a brief description of what all of the directories in this
directory are:

bin          - Binary directory after full make has been performed.

bterm        - UIMX Xt application that is the full demonstration of the Vt
               Widget.  This should be a very useful terminal emulation
               application.  Check the doc directory for how to use bterm.

config       - Some useful configuration files for applications.

design_ref   - This is freely available design information that I found
               on the internet.  You might find some of it interesting.

doc          - Documentation in HTML format.  Please read this stuff.

ftpterm      - UIMX Xt application that is another demonstration of the Vt
               Widget.  It is focussed upon providing a slightly automated
               interface to the ftp application.

genesc       - This is a simple application used to generate the screen.h
               source code file in the widget directory from a provided
               screen.dat file.

include      - Includes generated for the use of the Vt widget for applications.

lib          - The main libVt.a library resides here along with the libprc.a
               used in the bterm and ftpterm applications.

man          - Man pages for bterm, ftpterm and the XmVt widget.  Please
               read these.

misc         - Various unsupported files.  Rummage through here if you are
               interested in running bterm on a Sun or creating a
               communications application with the Vt widget.

prc          - This is a process control library.  The mit.c and mit.h files
               were originaly part of xterm pty processing code.

rtf          - Documentation in RTF format.

scripts      - Various UNIX scripts that demonstrate various features of the
               Vt Widget.

tests        - Many files that show how many of the escape sequences are used.

vls          - This is the hyper-link ls command.  Described as creepy by a 
               co-worker. :-)

vtclib       - Feeble attempt at an API for utilizing the incomplete child
               Widget features of the Vt Widget.  More a Proof of Concept than
               anything else.

uimx         - Within this directory you will find almost all of the
               customization changes that are needed to customize UIMX Version
               2.9. The very important exceptions are the addition of the Vt
               class to the menu structure of the application and the changing
               of the Makefiles. You will need to review the method provided
               with the UIMX product for adding a new widget
               to the creation menus.  These files are the hardest part in
               adding a widget to UIMX.
            
widget       - This is where the actual Vt Widget code resides.  This one
               directory contains close to 18000 lines of code.  Much of which
               is useful internal API flower boxes.

    Have fun, and be sure to read the documentation in the doc directory.  Also,
the source code has each function documented so check that out for details on
how this thing works.  There is a very extensive man page on the Widget itself
in the man directory.

Bruce Corwin  April 14th, 1997

bmcorwin@unixmail.delcoelect.com
