This chapter discusses the Common Desktop Environment (CDE), and the X11R6.3 and Motif components of the Tru64 UNIX windowing environment. The following topics are discussed:
The Common Desktop Environment (Section 8.1)
The X Window system (Section 8.2)
The Motif Version 1.0 suite of components (Section 8.3)
8.1 Common Desktop Environment
The Common Desktop Environment (CDE) is a jointly developed graphical user interface based on industry standards. It is built upon the Open Software Foundation's Motif user interface. CDE provides a consistent look and feel as well as common APIs across multivendor platforms.
CDE presents a visual desktop that you can customize. Using the CDE interface, you can use the mouse or keyboard to navigate and interact with applications. The desktop itself offers a Front Panel, which is a graphical display at the bottom of the screen area that provides access to applications, printers, and frequently used objects, including online help.
In addition to user services, CDE provides everything needed to implement fully integrated applications. Because CDE is standards based, such integration work is transportable to other platforms that comply with these standards. For example, the help files and the means to access them apply across all compliant platforms. For more information, see the Common Desktop Environment: Programmer's Overview.
The CDE Front Panel displays the tools that you use to start applications, manage tasks in a desktop session, or change workspaces. Each tool is represented by an icon that indicates its purpose. A workspace is the screen itself, which includes the Front Panel. A tool on the Front Panel is provided to switch between different workspaces.
The following tools are available on the Front Panel:
Clock
Calendar
File Manager
Text Editor
Mailer
Lock
Workspace Switches
Busy Light
Printer
Exit
SysMan Menu
Style Manager
Application Manager
Help Manager
Trash Can
For detailed information on the use of each tool, see the Common Desktop Environment: User's Guide.
CDE Window List is incorporated into the Common Desktop Environment; it is invoked by clicking the middle mouse button while the mouse pointer is located in the root window. It finds application windows on any workspace of your desktop and searches for a specific application window given its name, application class, or workspace name. For more information, see the online help for CDE Window List.
CDE Setup facilitates the setting up and customization of CDE through
a graphical user interface, and facilitates the creation of Front Panel controls,
which can be assembled into Front Panel types.
These types can be customized
for different users.
Furthermore, the user can set parameters for CDE windows,
icons, and bindings; set options for the
dtterm
,
dtmail
, and
dtfile
applications; and determine
their Front Panel terminal emulator.
The system administrator has increased capabilities including the configuration
of the X server, login greeting, and system services.
See the
dtsetup
(8)
reference page and the online help for CDE Setup for further information.
For more information, see the CDE documentation set.
8.2 X Window System
The X Window System Version 11, Release 6.3 software consists of the following components:
X client libraries
X server
Display Manager
X Protocol Extensions
Font server
X clients
X print server (Xp)
Tru64 UNIX supports the complete set of X11R6.3 X client libraries:
Athena Widget Set (libXaw
)
A high-level library of user-interface components (scroll bars, labels, buttons)
X Intrinsics Library (Xt
)
Middle-level routines that call into
Xlib
X library (Xlib
)
Low-level routines that interface with the X server
For more information on individual X client libraries, see
the X Window System documentation in the Tru64 UNIX documentation set.
8.2.2 X Server
Through the extensive use of shared libraries, Tru64 UNIX supports
a single X11R6.3 X server image for all graphic options.
The X server dynamically
configures itself during initialization, loading only those server components
required by a specific system configuration, and rarely requires any intervention
by a system administrator.
8.2.3 Multihead Graphic Support
Multihead graphic support is transparent in Tru64 UNIX, provided
the proper option cards are installed and support is built into the kernel.
The PanoramiX extension, known as Xinerama in X11R6.4, can be used to take
better advantage of multihead systems.
8.2.4 X Server Extensions
Tru64 UNIX supports the following X server extensions. (Note that to conserve memory, the X server, by default, defers loading most server extensions until it receives a request from a client for that specific extension.)
The Keyboard Extension for X11R6.3
The Keyboard Extension for X11R6.3 (XKB) server extension enhances control and customization of the keyboard under the X Window System by providing:
Support for the ISO 9996 standard for keyboard layouts
Compatibility with the core X keyboard handling; no client modifications needed
Standard methods for handling keyboard LEDs and locking modifiers such as CapsLock and NumLock
Support for keyboard geometry
Additionally, the X11R5 (for versions of Tru64 UNIX earlier than Version 5.0) AccessX server extension for people with physical impairments has been incorporated into the XKB server extension. These accessibility features include StickyKeys, SlowKeys, BounceKeys, MouseKeys, and ToggleKeys, as well as complete control over the autorepeat delay and rate.
XKME (X Keyboard Management Extension)
Provides an internal extension for better support of international X clients. Note that XKME has been made obsolete by the XKB extension, but is provided for backwards compatibility.
MIT-SHM (MIT Shared memory)
Enhances performance for local image-intensive applications.
MIT-SUNDRY-nonstandard
Miscellaneous extensions from the X Consortium, which controls bug compatibility modes for the X server.
Multibuffering
Supports smooth animations by drawing to multiple buffers.
SHAPE
Supports nonrectangular windows used for round, oval, and irregularly shaped windows.
SMT (Shared Memory Transport)
Allows for the use of shared memory as an X transport for local clients,
giving a significant performance boost.
The transport is specified by
local:0.0
.
XIE (X Imaging Extension, Version 3 and 5)
Provides advanced control over imaging, as well as device-independent image display.
Tru64 UNIX ships both Version 3 (/usr/lib/Xie.a
and
/usr/shlib/libXie.so
) and the de facto industry standard,
Version 5 (/usr/lib/libXIE.a
and
/usr/shlib/libXIE.so
).
X Input
Allows users to write their own drivers for third-party input devices,
and then load them dynamically into the X server by making entries in the
X server configuration file (/usr/var/X11/Xserver.conf
).
The new input devices are then recognized the next time the X server is reset.
In traditional, statically linked X servers, each time a new extension device is added the X server must be rebuilt. The Tru64 UNIX loadable X server implementation has overcome this limitation by permitting system administrators to add new input device support as external sharable devices that are loaded by the X server at initialization.
Sample code showing how such a driver should be written is included
in the
/usr/examples
directory.
X Screen Saver
Enables a client to receive notification when the screen has been inactive for a specified amount of time or whenever it cycles. This extension is useful to developers writing screen saver applications.
XSync
The
XSync
function, in conjunction with the
XFlush
,
XEventsQueued
, and
XPending
functions, allows synchronization between X clients to take place
entirely within the X server, thereby eliminating any errors introduced by
the network and enabling different hosts running different operating systems
to synchronize X clients.
This extension is particularly useful for multimedia
applications that require the synchronization of audio, video, and graphics,
and for animation applications that can have their requests synchronized to
internal, X server timers.
XTest
Allows applications to simulate X events for testing purposes.
XTrap
Supports the recording and playback of X events for the purpose of X client testing.
XV (X Video)
Allows clients to control video options, such as the live video PIP option for the TX graphic device.
X Print Extension
Allows X applications to output directly to a print device.
X Print Server (Xp)
Allows X imaging to nondisplay devices such as printers and fax machines. The core of the X Print service is the X Print Server. Applications that require printing operations can make a connection to the X Print Server and list the available printers, select a printer, and submit print requests.
PanoramiX
Allows a system configured with multiple video monitors (a multiheaded system) to operate the monitors as a single large screen. Windows can span multiple screens and can move from one screen to another. This extension is only supported in homogeneous graphics environments; the environment must consist of common devices, visuals, depths, resolutions, and so on.
Application Group
Allows for grouping of windows such that an application group window can intercept certain requests for windows within its group and handle them appropriately. This is used with the remote execution extension to allow X applications to be embedded in Web pages.
X Security
Provides for enhanced security for the X Window System. Security can be specified on a per-user basis or a per-resource basis.
Remote Execution
Allows X applications to be invoked remotely, specifically from within a Web browser.
Low Bandwidth X (lbx)
Allows X applications to run more efficiently over low bandwidth transports such as a modem.
For more information on individual X client libraries, see the X Window
System documentation in the Tru64 UNIX documentation set and the
X
(1X)
and
the
Xdec
(1X)
reference pages.
8.2.5 Display Manager
Tru64 UNIX supports the standard
Xdm
terminal
manager software.
The
Xdm
terminal manager starts the X
server locally and allows for network-transparent login prompting, so that
users can log in to any system on their network supported by
xdm
as if the remote system's graphic console were in front of them.
This software provides for the seamless integration of X terminals into the Tru64 UNIX
environment.
For more information on using
Xdm
, see the
System Administration
guide and the
xdm
(1X)
reference page.
Keymap Format
The default keymaps used by Tru64 UNIX use the XKB standard keymap format. These keymaps can be used by any X server that supports and runs the XKB extension. The XKB keymap files are text files that can be easily customized and compiled for use with the system.
The
xmodmap
keymap format is also supplied for backward
compatibility.
Should you want to run the
xmodmap
keymap
format, custom key maps should use this format.
The
xmodmap
keymap format is a de facto industry standard, which uses symbolic key names
and can be easily customized.
Both these keymap formats support the ability to specify modifier keys
(Compose
,
Alt
,
Shift
,
and so forth).
You should use the XKB standard keymap format instead of the
xmodmap
keymap format.
XDM-AUTHORIZATION-1
Whenever an X client application establishes a connection to the X server,
it passes an authorization code, called a key, to the X server.
If the X
server recognizes this key, the connection is allowed.
When the user's X session
is started,
xdm
(the X Display Manager) writes one or more
keys into the
.Xauthority
file in a user's home directory.
The X Display Manager (xdm
) also writes these keys into
a file that the X server can read.
To improve security, Tru64 UNIX supports both the
MIT-MAGIC-COOKIE-1
key format as well as the
XDM-AUTHORIZATION-1
encrypted key format, which is the default.
8.2.6 Font Server
Tru64 UNIX supports a standard scalable font server that supplies a network of systems with access to fonts that reside on any Tru64 UNIX system. The font server maintains a repository of fonts and responds to requests from other X servers on the network for fonts that they may not have locally. In addition to providing network-transparent access to fonts, the font server unloads the compute burden of font scaling from local X servers, because it scales fonts appropriately before supplying them to the requesting X server.
Before a font can be displayed by an X server, its glyphs must be converted from their on-disk formats into bitmaps. This conversion is done by font renderer code in the X server or in a font server that may be supplying fonts to the X server.
Tru64 UNIX supports loadable font renderers, so that users who adhere
to the X11R6.3 standard can write their own font renderer for their own set
of fonts and install them on a Tru64 UNIX system.
After the fonts and the
font renderer are installed, the necessary entries for them are placed in
the X server configuration file (/usr/var/X11/Xserver.conf
),
the font server configuration file (/usr/var/X11/fs/config
),
or in both configuration files.
The new font renderer is then recognized the
next time the X server or font server (whichever has the font renderer configured)
is reset.
8.2.7 X Clients
Tru64 UNIX supports the entire X11R6.3 suite of X clients, including
appres
,
atobm
,
bdftopcf
,
bitmap
,
bmtoa
,
chooser
,
editres
,
fs
,
fsinfo
,
fslsfonts
,
fstobdf
,
iceauth
,
ico
,
imake
,
listres
,
lndir
,
maze
,
mkfontdir
,
oclock
,
optacon
,
puff
,
puzzle
,
restart
,
resize
,
showfont
,
showrgb
,
smproxy
,
twm
,
uil
,
viewres
,
x11perf
,
x11perfcomp
,
xauth
,
xbiff
,
xcalc
,
xcd
,
xclipboard
,
xclock
,
xcmsdb
,
xconsole
,
xcutsel
,
xdm
,
xdpr
,
xdpyinfo
,
xedit
,
xemacs
,
xev
,
xeyes
,
xfd
,
xfindproxy
,
xfwp
,
xfontsel
,
xfwp
,
xhost
,
xkbbells
,
xkbcomp
,
xkbprint
,
xkbdfltmap,
,
xkbvleds
,
xkbwatch
,
xkill
,
xload
,
xlogo
,
xlsatoms
,
xlsclients
,
xlsfonts
,
xmag
,
xman
,
xmbind
,
xmh
,
xmkmf
,
xmodmap
,
xon
,
xpr
,
xprop
,
xrdb
,
xrefresh
,
xset
,
xsetroot
,
xsoundsentry,
xstdcmap
,
xterm
,
xwd
,
xwininfo
, and
xwud
.
For more information on individual X clients, see the appropriate reference
page.
8.3 Motif Suite of Components
Tru64 UNIX supports the entire suite of Motif Version 1.0 components,
including the widget library (Xm
), the resource manager
(Mrm
), the widget metalanguage (wml
),
the User Interface Language (UIL), the Motif window manager (mwm
), the key binding utility (xmbind
), and the
Motif Demonstration programs (examples
).
In Motif Version 1.2, the Open Software Foundation added support for ANSI C, Internationalization, Drag and Drop, and TearOff Menus. Unfortunately, much of this support required breaking binary compatibility with Motif Version 1.1.3.
To mitigate this problem, Tru64 UNIX provides the Motif Version 1.1.3 libraries through versioning to allow applications that are linked against Motif Version 1.1.3 to continue to run. These libraries are available in an optional subset. For more information on versioning, see the Programmer's Guide.
For more information on Motif, see the
OSF/Motif Programmer's Guide
and the appropriate
reference pages.
For information on Motif support for internationalization,
see
Chapter 10.
8.3.1 Extended Widget Set
Tru64 UNIX supports the Extended Widget Set (DXm
),
which contains the following widgets:
DXmColorMix
Supports editing and the selection of colors
DXmPrintWidget
Presents graphical print options
DXmCSText
Supports the editing of compound strings in a user interface similar
to
XmText
DXmHelpWidget
Displays help topics
DXmSvn
Supports structured navigation through lists of data
In addition to the entire X11R6.3 suite of X clients, Tru64 UNIX
supports a variety of X clients including
accessx
,
dxconsole
,
dxdiff
,
dxkbledpabel
,
dxkeyboard
,
dxkeycaps
,
dxpresto
,
and
dxterm
.