Motif data sheet cover image
Motif and CDE Source Code Synchronization

New Features

  • Thread-safe libraries
  • Widget printing support
  • A merged Motif and CDE style guide
  • Internationalization enhancements for
    vertical text, "on-the-spot" input and user
    defined characters for Asian languages

Motif 2.1

Motif® is the industry standard graphical user interface, (as defined by the IEEE 1295 specification), used on more than 200 hardware and software platforms. It provides application developers, end users, and system vendors with the industry's most widely used environment for standardizing application presentation on a wide range of platforms. Motif is the leading user interface for the UNIX® operating system.

The Motif graphical user interface (GUI) toolkit facilitates the development of applications for heterogeneous, networked computing environments. By providing application portability across a variety of platforms, the Motif environment helps protect valuable investments in software and user training.

Users of laptops, PCs, workstations, mainframes, and supercomputers benefit from the consistent screen appearance and behavior of applications provided by the Motif environment. Motif was the first graphical interface offering user-oriented PC-style behavior and screen appearance for applications running on systems that support the X Window System X11R5.

Motif is also the base graphical user interface toolkit for the Common Desktop Environment (CDE). CDE, originally developed by Hewlett-Packard, IBM, Novell, and SunSoft, provides a single, standard graphical desktop and desktop tool set (such as mail and a group calendar) for all platforms that support the X Window System.

Motif and CDE Source Code Synchronization

Motif Release 2.1 provides complete compatibility and convergence with CDE by integrating the critical features and functionality of Motif 2.0 and CDE 2.1

Motif 2.1 New Features

  • Thread-safe libraries
  • Widget printing support
  • A merged Motif and CDE style guide
  • Internationalization enhancements for vertical text, "on-the-spot" input and user defined characters for Asian languages

As significant new features were added to Motif 2.1, some features of Motif 2.0 needed to be removed to bring the source code streams for Motif and CDE into synchronization. Items removed include

  • Platform-independent uid files
  • CSText widget
  • Support for C++

The Motif 2.1 Window Manager (mwm) is a "lite" version of the CDE 2.1 Window Manager, desktop window manager (dtwm 2.1), and provides functionality compatible with Motif 1.2 mwm. Users of Motif 2.0 can continue to use 2.0 mwm without experiencing compatibility problems between Motif 2.0 and 2.1 releases.

Motif 2.1 Benefits

Motif provides application developers, end users, independent soft ware vendors, and system vendors with a high degree of portability, interoperability, and scalability for their applications.

Applications built with Motif's single, stable application programming interface have excellent performance characteristics. This benefits developers by allowing them to "write it once" for many platforms. Motif 2.1 Window Manager
The Motif 2.1 window manager offers a standard interface for moving, resizing or iconifying application windows

End users

Motif gives end users a way to leverage their investments in existing systems, applications, and training. Specifically, it offers end users the ability to select interfaces compatible with the ones they have, and to specify one standard interface for the future. Consistent from laptop to mainframe, the Motif style is similar to Microsoft Windows, providing added features familiar to open systems users. These characteristics help reduce training time and costs by easing skills transfer across heterogeneous systems.

Independent software vendors

Using Motif, independent software vendors and other application developers can port applications across a variety of single and multi-user hardware platforms and build custom widgets with ease. Applications built with Motif's single, stable application programming interface have excellent performance characteristics.

System vendors

Motif functions on more than 200 different platforms with a single GUI toolkit. As a result, hardware vendors can unify the appearance and behavior of applications on all the platforms they supply.

Motif 2.1 Combo and Spin Box example
The convergence of the Motif and CDE style guides includes support for all new widgets, such as this combo box and spin box.

Motif 2.1 Key Features

Other high-level characteristics of Motif include

  • A common, consistent user interface
  • Motif provides application developers, end users, independent software vendors, and system vendors with a high degree of portability, interoperability, and scalability for their applications
  • Easy-to-use PC windowing-style interactive behavior, allowing rapid skill transfer
  • A distinctive 3-D beveled reference appearance
  • A single, stable, widely available applicatioprogramming interface (API) allowing applicatiodevelopers to "write it once" for many platforms
  • A superior set of tools offering high developer productivity iestablishing a consistent look and feel
  • Internationalization, easing access to worldwide markets
  • Hardware independence for scalability across all types of operating and file systems
  • An extensibility framework to ease development of applications and cus tom widgets
  • Convergence with PC widget styles, including several new widgets
  • Numerous toolkit enhancements, including a Uniform Transfer Model (UTM) for simplified data transfer
  • UIL improvements that include 64-bit support and support of extensi bility features
  • Binary compatibility with Motif 1.2, CDE 1.0 and Motif 2.0, with the exceptions noted under Motif 2.1 New Features
  • Network transparency based on the X Window System.
These technology components make Motif the graphical user interface of choice for system vendors, application developers and end users.

The Elements of Motif

The core components of the Motif technology include an extensible user interface toolkit; a stable application programming interface; a user interface language; and a window manager.

Taken together, these technology components make Motif the graphical user interface of choice for system vendors, application developers and end users.

Application Programming Interface

The Motif Application Programming Interface (API) specifies the interface to the User Interface Toolkit and the Motif Resource Manager. The API's behavior and appearance are compatible with that of Microsoft Windows, and with enhancements such as primary transfer and implicit focus, fa miliar to most workstation users.

Thread-Safe Libraries

All necessary libraries in Motif 2.1 are thread-safe. Multi-threaded applica tions can use Motif without requiring that the programmer explicitly control "locking" of a library's routines or data or limiting the use of a library API to a single thread.

User Interface Toolkit

The User Interface Toolkit provides a standard graphical user interface layer upon which applications are based. It includes a library of graphi cal objects used in the construction of application user interfaces such as menus and scroll bars.

Toolkit Intrinsics

The Motif toolkit is based on the X11 Intrinsics, a toolkit framework pro vided with the X Window System. The Intrinsics have been specified as a U.S. federal procurement standard and provide compliance with X-based applications and systems.

The Intrinsics use an object-oriented model to create a class hierarchy of graphical objects known as widgets. The functionality of the Motif toolkit is further extended by windowless widgets called gadgets, which can be cached, performing specific functions with lower server overhead.

Motif widgets have associated sets of resources that can be specific to a class of widgets or inherited from a superclass of widgets. Resource values can be specified by the application program, read from a database through the User Interface Language, or defined by the user.

Motif 2.1 Drag and Drop example
Motif 2.1 permits drag and drop between unrelated applications

Motif Widgets

The Motif widget set is a rich collection of user interface controls de signed to support a friendly user metaphor. Motif 2.0 and Motif 2.1 provide users with more flexibility in selecting visual styles as well as better looking user interfaces. New widgets introduced with Release 2.0 included

  • Container/Icon Gadget that is used to provide both tabular and iconic presentations of a hierarchy of objects that can be used to build file/directory managers
  • Notebook used to create property sheets or multi-page documents with tabs
  • Spinbox used for cycling through sets of choices such as setting dates and times
Motif 2.1 Combo Box example
The Combo Box allows PC windowing-style user choices in a limited application area
  • Combo Box/Drop Down Combo Box/Drop Down List are Motif versions of standard PC widgets that allow a user to choose or enter a value
  • Thermometer for showing the progress of a task.

The CSText widget, introduced in Release 2.0, has been removed in Release 2.1 to ensure Motif/CDE compatibility.

Widget Printing

Developers now have a standard way of printing from any application or utility. In Motif 2.1, an X Server receives the normal X network protocol
from the source, and with the help of a new X extension for print manage ment, can generate output for a printer rather than for a screen dis play. Use of this feature requires a print server based on X11 Release 6.2.

Development Features

A number of features simplify development of user interfaces with the Motif style. These include

  • Dozens of basic objects, dialogue boxes, layout management elements, menus, and special-purpose widgets
  • Virtual key bindings, which enable applications to behave con sistently with keyboards from different vendors
  • Keyboard traversal, making information input possible from either a key board or a mouse, providing compatibility with PC-style interaction
  • Facilities for scrolling, which are helpful for small screens
  • Functions that provide direct programmer support for focus manage ment, allowing specification of input focus
  • Functions and call-backs to support context-specific help
  • Sophisticated layout-management tools such as rows, columns, forms, and paned windows
  • A comprehensive menu system, including tear-off menus
  • Immediate access to the file system through a file selection box.

Extensibility Framework

Motif allows developers to build new widgets easily through the use of subclassing and traits.

Subclassing

As with all Xt-based toolkits, subclassing requires detailed knowl edge, experience, and access to the source code. Motif simplifies this pro cess by allowing subclassing from the Primitive and Manager classes to be accomplished easily, without requiring access to source code. Documen tation of Motif's class methods are included in The Motif Widget Writer's Guide. This book provides all necessary information to subclass from Primitive and Manager. Motif fully documents Xme (Xm extensibility) functions.

Traits

Traits allow a given behavior to be associated to a widget irrespective of the widget hierarchical relationships. Before the availability of traits, many widgets checked whether their parent or child was a member of a particular class and changed their behavior accordingly.

However, a developer building a new and related group of primitive widgets would rather define a new subclass of Primitive, and subse quently subclass all the new or custom widgets. Motif 2.1 allows any number of traits to be associated with a class. Each trait has an asso ciated group of class methods that a developer can use to implement the behavior promised by the trait. The standard traits and their class meth ods are fully documented in the widget writer's guide.

User Interface Language

The User Interface Language is an application development tool that sup ports rapid user interface design and prototyping. It allows application de velopers to create a text file that contains a description of each widget and its resources. Interface designers with little programming experience will find the Motif User Interface Language easy to use.

This high-level description is compiled into a resource file used by the application and loaded automatically at runtime. The User Interface Lan guage allows an application designer to define and tune the presentation characteristics of an application interface independent of the application code, simplifying the description and maintenance of user interfaces.

The User Interface Language offers

  • Descriptions of the objects used in the user interface and their layout constraints
  • Support for every object in the Motif toolkit and for extensions to the toolkit through a widget meta
    language
  • Modularity to support applications that use multiple UIL files
  • Support for 64-bit platforms.
Internationalization features of Motif 2.1 include
  • Text editing in the user's language
  • Internationalized text widgets that support mixed character sets common to Asian languages
  • Support for the X11R5 concept of Font Sets, and mixed writing system characters
  • Selection of the character input method at session start-up
  • Vertical writing display and editing
  • Support for a variety of input methods including "on-the-spot" input that converts the romanized version of an Asian language in place within the document being created, rather than in a separate input window
  • User-defined characters for character codes not part of a "standard" set
  • Message catalog support for internal strings.
Motif 2.1 vertical writing example
Motif 2.1 now includes significant internationalization enhancements, inlcuding vertical writing, on-the-spot input, and user-defined characters

Internationalization

Motif offers a state-of-the-art solution for internationalizing application user interfaces. The Motif environment provides Native Language Support consistent with the NLS solution set forth in POSIX and the X/Open XPG4 portability guide.

Motif text objects and the User Interface Language can fully support the display of localized text strings with multibyte or wide characters. Motif enables localization for Asian and European languages, including all character sets standardized by the X Consortium. Programmers can simplify the localization of programs by using an internationalized path look-up for obtaining either User Interface Language files or application resource files.

Some languages require a mixture of fonts. For example, Japanese strings may include a mixture of ASCII characters, phonetic kana, and Kanji. Mo tif makes it possible to combine several fonts and character sets through the use of the X11R5 concept of Font Sets incorporated in Motif's render tables. Motif also features an internationalized text widget, which accepts all characters required to write in any supported language and includes support for wide character strings. And because different languages are suited to different input methods, Motif allows vendors to provide dif ferent input methods for European and Asian languages and to specify the necessary character sets to support different locales.

For widget writers, the XmIm interface is easier to use than the Xlib interface. The XmIm does not require the same amount of understanding of in put methods and input contexts as the Xlib. Furthermore, all the conversion from Motif-style values such as font list to X-style values for input contexts is handled by the XmIm routines.
The published Motif API enables widget writers to make use of input meth ods in their widgets. The new functions encapsulate the X11R5 API and all have the prefix XmIm. In addition, Motif supports right-to-left layout text support for languages such as Hebrew and Arabic. In the area of geom etry management, Release 2.1 allows margins to be swapped and the layout of dialogue boxes and menus to be reversed. However, Motif 2.1 does not provide bi-directional support or support for shaped or context-sensi tive languages.

Window Manager

Motif's Window Manager offers users a standard environment for manipu lating application windows. The Motif Window Manager is a separate ap plication that allows users to modify windows adding icons or resizing, for example. It implements policies that specify where certain windows or icons can be placed, and whether windows can overlap.

The Window Manager combines PC-style windowing behavior and layout with workstation-style conventions. It is compliant with the X Consortium Inter-client Communications and Conventions Manual (ICCCM) and includes support for X11R6 session management.

As a result, it can manage the window for an application whether or not that application was built with Motif. The Window Manager sup ports both monochrome and color windows and manages multiple screens effectively, an important capability for users of workstations.

Application Interoperability

To maximize interoperability between applications, Motif supports four different data transfer models Drag and Drop, Clipboard Transfer, Primary Transfer, and Quick Transfer.

A new, merged CDE and Motif style guide covers all Motif 2.1 and CDE 2.1 features including
  • New widgets (container, notebook, spin box, drop down list, drop down combo box)
  • Revised menu bar and menu choices
  • New behavior features (alternate mouse bindings, effects of drag and drop, tabbing among push buttons).
Motif 2.0 introduced the Uniform Transfer Model (UTM), which allows programmers to write code once for the source target and once for the des tination target for data transfer. With UTM, Motif automatically provides the underlying support for clipboard transfer, quick transfer, primary trans fer, and drag and drop.

Drag and drop provides an easy mechanism for moving objects, ex changing data between applications, and supplying data to a process. A user may select a source object with the mouse, drag it elsewhere on the screen, and drop it on a destination. Motif permits drag and drop between unrelated applications. Developers need not change their applications, other than ensuring support for the UTM API and specifying the data to be moved. Because drag and drop uses the standard X11 mechanisms, it is network-transparent. Consequently, drag and drop works be tween Motif clients running on different host machines in a network.

Style

A new, merged CDE and Motif style guide covers all Motif 2.1 and CDE 2.1 features including:

  • New widgets (container, notebook, spin box, drop down list, drop down combo box)
  • Revised menu bar and menu choices
  • New behavior features (alternate mouse bindings, effects of drag and drop, tabbing among push buttons).
    The style guide describes the way in which an application should behave, or interact, with the user. Motif specifies a 3-D, beveled reference appear ance for windows and objects on the screen. The style guide defines an ap pearance and behavior already familiar to many users, and is consistent with the styles of Microsoft Windows.

The purpose of the Motif style guide is to maximize consistency of style and allow users to transfer their skills from one system or application to an other. The style guide defines the specific layout required for compliance with the Motif reference appearance and functionality, and offers the basis for application branding. It provides a set of guidelines for programming applications, developing new widgets and extending the Window Manager. The guide includes conformance language, making it easier for programmers to write Motif-compliant applications, and defines virtual key bindings, making the guide vendor-independent.

Unlike other GUIs, the Motif style is supported by a single, standard API and Toolkit; consequently different implementations do not cause fragmentation.

Quality Assurance Tests

This release includes Quality Demonstration programs and an automated Quality Assurance Test Suite (QATS) for learning about and testing Motif software. QATS also features tests for memory and runtime performance measurement. It emulates user behavior, creating complex hierarchies of widgets, and focuses on visual appearance, style guide conformance, and dynamic behavior. To ensure completeness, QATS also performs negative testing.

Certification Testing

The Open Group's certification program for Motif allows suppliers of Motif communicating their compliance with The Open Group's Motif Toolkit definition. A separate validation test suite known as the Motif Toolkit API Verification Suite (VSM4) is available and replaces the previous Conformance Test Suite (VTS). A free and unsupported copy of VSM4, can be requested from The Open Group. Suppliers requiring to certify can purchase a full license and support from http://www.opengroup.org/testing/sales+support.

Motif Reference Material

The Motif documentation set is for users, system administrators, and application developers.

This documentation is provided as part of the Motif source code. Published volumes and other media, providing sets of documentation, are part of The Open Group's Common Documentation initiative.

Details of pricing and availability of hardcopy manuals are on The Open Group web site in the publications catalog

The manuals include :

  • M212 CDE/MOTIF 2.1
    Style Guide
  • M211 MOTIF 2.1
    User's Guide (including Glossary)
  • M213 MOTIF 2.1
    Programmer's Guide
  • M214 MOTIF 2.1
    Programmer's Reference V1
  • M215 MOTIF 2.1
    Programmer's Reference V2
  • M216 MOTIF 2.1
    Widget Writer's Guide