Motif and CDE Source Code Synchronization
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
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
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.
The Motif 2.1 window manager offers a standard interface for moving, resizing or iconifying application windows
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.
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.
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
|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.
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.
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 permits drag and drop between unrelated applications
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
The Combo Box allows PC windowing-style user choices in a limited application area
The CSText widget, introduced in Release 2.0, has been removed in Release 2.1 to ensure Motif/CDE compatibility.
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
A number of features simplify development of user interfaces with the Motif style.
Motif allows developers to build new widgets easily through the use of subclassing and traits.
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 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
|Internationalization features of Motif 2.1 include
Motif 2.1 now includes significant internationalization enhancements, inlcuding vertical writing, on-the-spot input, and user-defined characters
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.
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.
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
|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.
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.
A new, merged CDE and Motif style guide covers all Motif 2.1 and CDE 2.1 features including:
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.
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 :