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.3
----------------------------

-	Added Motif 2.0 support for widgets Container, ComboBox, IconGadget,
	Notebook, SpinBox, CSText and for Render Tables for XmStrings.
	[This worked on a beta version of Motif 2.0 - it will need updating
	 for the production version, I am sure!]

-	Made it easier to add in additional widgets from other sources.
	This can be done by  modifying C code or using a widget description
	file suggested by Harald Albrecht.  (Lots of people have asked for
	this.)

-	Support for uil added. (Lots of people have asked for this.)
	[This is only a subset of the Mrm functions - feedback would be
	 useful.]

-	Hook to allow extra drop type handlers to be added. (Chris Steres,
	steres@tcltown.wpd.sgi.com).

-	Added pattern matching mechanism so that widget names need not use
	the full path name, but can use a "*" match for the prefix (or any
	part, really). (Suggested by David Bainbridge, david@ics.com.)

-	Added %call_data field to each callback to give a keyed list of values.
	(Suggested by David Bainbridge, david@ics.com).

-	Added support for tear-off menus, and the tearoff child.

-	Added regression test for widget creation.

-	Added method "class".

-	Added method "removeCallback".

-	Widgets created by Motif as children of SelectionBox, FileSelectionBox,
	MessageBox and ScrolledWindow have a method handler appropriate to
	their type.


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 September 1994. 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.

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, MOTIFBUGS
explains why things aren't my fault and COPYRIGHT tells who owns it and why.
CHANGES documents what has happened between versions.
