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.