1Motif is hard to program with, in large part because it does not 2provide enough user interface tools, and because the tools it does 3provide are often at the wrong level of abstraction. The Xmt library 4contains 8 new widgets and over 260 functions to make programming with 5Motif easier. Also, Xmt has been found to work with LessTif on Linux. 6 7Features of the library include: 8 9 + Simple message display--functions to display information, warning 10 and error messages, with automatically created and cached dialog boxes. 11 12 + Simple "blocking" input--functions to synchronously return strings, 13 numbers, booleans, filenames, etc. with automatically created and 14 cached dialog boxes. 15 16 + The XmtMenu widget--describe a menu with an array of structures, or 17 with a single resource in a resource file. 18 19 + The XmtChooser widget--a single widget that can appear as a radio 20 box, a check box, a list widget, a palette, or an option menu. Takes an 21 array of strings or pixmaps to display as the choices, and maintains a 22 single state variable. 23 24 + The XmtCli widget--a "command line interface" with automatic 25 prompting and command history. Has fprintf() and fgets() analogs for 26 porting terminal-based applications. 27 28 + The XmtMsgLine widget--a message line inspired by emacs. Supports 29 synchronous input. 30 31 + The XmtInputField widget--a text widget with input validation. 32 33 + The XmtLayout widget--a general manager widget, using the TeX 34 boxes-and-glue layout algorithm. Layout can be specified with a single 35 string resource. Simpler than the Form widget, and more flexible than 36 the popular Table widget; includes built in support for text and pixmap 37 labels, separators and shadowed frames. 38 39 + Context-sensitive help with resource files and the XmtHelpBox widget. 40 41 + Support for multi-color pixmaps using the XPM format and a new 42 datatype, the XmtColorTable. 43 44 + Wcl-style automatic widget creation with improved syntax, templates 45 and "styles". Also, an improved callback converter. 46 47 + Automatic dialog creation--register a resource list when you create 48 a dialog, and have the dialog automatically store its data in a 49 specified location. 50 51