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.