This book describes AIXwindows, IBM's enhancements to X-Windows and Motif.
AIXwindows environment is a state-of-the-art graphical user interface environment that can be used by a wide range of end users and application developers to create graphical user interfaces, either on your system or across a network. The environment provides a graphical desktop that hides the low-level complexities of the operating system. The environment also supports Base 2-D as well as 3-D products.
The Base 2-D products are X-Windows and Motif. The application programming interfaces (APIs) that support 3-D are Graphics Library, and graPHIGS API. In addition, the AIX Common Desktop Environment allows you to organize your online work much as you would organize work on your office desk.
This overview summarizes the features of the AIXwindows environment, comprised of:
X-Windows consists of three components: the server, client programs, and the communications channel as shown in the figure. The server distributes user input to and accepts output requests from various client programs (applications) located either on the same machine or elsewhere on the network. These applications use the low-level C-language Xlib library to interface with the window system through the communications channel. Although a client usually runs on the same machine as the X server to which it is talking, this need not be the case.
The Xlib library is a layer on the X server and is a set of functions that are called by applications. These functions handle tasks such as adding a host, opening a display, manipulating windows, drawing, and handling events. Xlib calls are translated to protocol requests that are passed either to the local server or to another server across the network.
Applications are a layer on Xlib. Applications that run on Xlib can be used both by end-users and application developers. These applications can be the user's own or those provided with X-Windows. Beginning-to-experienced end-users can use the provided client programs to run multiple terminals, use desk accessories, set display and keyboard preferences, use font and graphic utilities, print applications, and get information on windows and displays. Application developers can use the Motif Toolkit provided to create and control user interfaces.
A Motif application consists of the X Intrinsics library and the Motif widget set. The X Intrinsics are a basic set of functions used to define, create, manage, and destroy user interface components. These user interface components are called widgets and make up the widget set. The Motif widget set is a layer on the X Intrinsics. Different interfaces can be provided by different widget sets, but they all use the X Intrinsics.
While the Motif Toolkit provides the building blocks for an interface, the window manager enables you to control the interface. The window manager acts as an application program. With the window manager, you can execute other application programs, move them on the screen, resize them, and so on.
X-Windows has standards and conventions that are applicable to all systems with bit-mapped display terminals. This enables application programmers to spend more time improving their programs and less time porting to new user-interface platforms. Standards and conventions are provided for the X protocol, atoms, the Inter-Client Communications Conventions Manual (ICCCM), display manager control protocol (XDMCP), logical font descriptions (XLFD), and compound text encoding.
Graphics Library is a set of graphics and utility functions that provide high-level and low-level support for graphics. Graphics Library has become the industry standard for 3-D application development.
The graPHIGS API application programming interface (API), an implementation of the PHIGS and proposed PHIGS PLUS standards, provides a set of device-independent programming tools that allow portability across many hardware platforms. The graPHIGS API offers over 500 high-level subroutines to define, modify, and display hierarchically organized graphics data. Advanced rendering capabilities, such as lighting and hidden line and hidden surface removal, are included.
The AIX Common Desktop Environment provides you with the ability to run several applications at once on your screen. Whether you are a beginner or an experienced AIX user, the AIXwindows visual system helps you manage your work and use the AIX operating system to perform various tasks.
The product you choose to use will depend on your needs. If you are sending 2-D graphics across the network, you should use X-Windows. However, if you are sending 3-D graphics across a network, you must use the distributed application processing capability of the graPHIGS API.
If you are working on one system and do not need to send information across a network, the fastest method would be to use the Graphics Library or graPHIGS API. Using these products would bypass the server and allow direct adapter access. Although Graphics Library applications typically operate in immediate mode and applications using the graPHIGS API have traditionally used structure storage, both products offer retained and nonretained graphics display as well as advanced rendering capabilities.