Welcome to...
-------------

		A tcl binding to Motif
Who by
------
Jan Newmarch (jan@pandonia.canberra.edu.au).

Availability
------------
The primary site for this is ftp.canberra.edu.au under
/pub/motif/tclMotif/tclMotif.*.tar.z. It is also placed on X and tcl sites
ftp.x.org and harbor.ecn.purdue.edu. From these sites it will be available
on mirrors in lots of places. A binary version for Linux is also available
from Linux sites such as sunsite and tsx-11.

What
----
This package consists of a set of functions and a standalone interpreter "moat"
that allow tcl programs to use the Motif set of widgets. A tcl file can be
read by the standalone interpreter much as the Tk "wish" does. The difference
is that instead of using the Tk library to create and manipulate Tk widgets,
this system uses the Tm library to create and manipulate Motif widgets.

Major changes in version 1.4
----------------------------

-	lots of minor bug fixes.
-	added methods: getSelectionValue, mrmFetchWidgetOverride,
	addWMProtocolCallback, pending, windowID, displayInfo,
	augmentTranslation, overrideTranslations, uninstallTranslations,
	lowerWindow, raiseWindow, warpPointer, beep, setCommand
	(many of these from Wolfgang Kechel - wolfgang@pr-wiesbaden.de).
-	Modified addwidget syntax to make it easier to define related widgets
	in a single file.
-	INCOMPATABLE CHANGE: if a resource can't be found in a resource list
	or in a constraint parent list, then we used to complain. Xt says to
	ignore this, and Motif relies on this behaviour (e.g allowShellResize
	in CreateFormDialog gets handed to both shell and form). So we don't
	complain any more, and ignore unrecognised resources silently.
-	INCOMPATABLE CHANGE: the string to XmString formatting converter is
	now used for lists of strings, instead of XmStringCreateLToR.
-	Added support for multiple displays so that a topLevelShell may be 
	created on a new (or already open) display (Wolfgang Kechel - 
	wolfgang@pr-wiesbaden.de)
-	Lots of code cleanups (Wolfgang Kechel - wolfgang@pr-wiesbaden.de).

The full set of changes is given in the CHANGES file.


Relation to Wafe
----------------
The Wafe project also provides a binding of Xt widgets to tcl. Originally
just the Athena widgets, it has been extended to other sets, and has a
Motif binding in beta. 
-	The language syntax differs. tclMotif is closer to Tk than Wafe is.
	Wafe (and WKSH) use 
		command object ...
	syntax. Both Tk and tclMotif use
		object command ...
-	I use the standard Motif callbacks, Wafe has its own callback model.
-	Wafe has more Xt support.
-	The primary aim of wafe is as a tcl/Xt front-end to other languages.
	My binding is just tcl to Motif, so I have been able to tune this
	to the Motif model easier.

Status
------
This is being actively maintained, as of March 1995. New versions 
are released approx every 2-3 months, although this depends on many
factors. Please report any bugs either in existing code, or omissions
that reduce the way you would like to use tclMotif.

The changes over the releases are summarised in the file CHANGES

Requirements
------------
This has been built using tcl7.3 and the Motif 1.2.1 development libraries.
You need both. I have so far tested this stuff on a Sun O/S 4.1 and a 486
running Linux. Earlier versions used tcl6.7, but this is no longer supported.
It should compile using tcl7.0b3 onwards, and all versions of Motif 1.2.
There is some Motif 1.1 support i.e. it will compile and most things will
run, but some things such as getting resource values of scalars such as
XmNarrowDirection won't.

The Motif 2.0 support is based on a beta version of Motif 2.0 that I had
access to at one time. This will probably change when I get access to the
production release.

Files
-----
The directory "src" contains the source files.

"doc" contains the man pages, a skimpy user manual, and a draft paper.
It also contains a user manual in TeX format, contributed by 
Jean-Dominique Gascuel. Unfortunately this describes version 1.0 and
there have been some incompatable changes since then.

The "examples" directory contains a number of good programs that show how
Tm works.

The "wtour" directory contains a widget-tour program based on Andrew Payne's
wtour program for Tk.

The "tests" directory contains the regression test files for Tm. These cover
many features of Tm, but are not designed for easy reading. The file "index"
in  this directory shows what is tested.

The "programs" directory contains adhoc programs used in developing Tm. These
are in no particular order, not documented. You may see some useful examples
in here, but it is pot-luck. There is no guarantee that any particular one
will work.

At the top level, INSTALL tells you how to build Tm and moat and COPYRIGHT
tells who owns it and why.  CHANGES documents what has happened between
versions.
