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.
|
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.
|
|
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 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
|
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 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 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
|
|