The X Window System (hereafter referred to as X) is one of the most widely used Graphical User Interface (GUI), or bitmapped-window display systems. It is supported by all major workstation vendors, and is used by a large and growing number of users worldwide. The X Window System offers more than just a raw environment. It also offers a platform for uniquely incorporated commercial packages. In addition to writing application software, some industry groups have created proprietary software packages and standards for interfaces which leverage the display capabilities of the X Window System. These packages are then integrated into applications to improve the look and feel of them. The two most significant commercial packages in this area are the Open Software Foundation's MOTIF and UNIX International's Open Look. X was the brainchild of Robert Scheifler, Jim Gettys, and others at MIT, as part of Project Athena, a research project devoted to the examination of very large networks of personal computers and workstations. (For an overview of the Project Athena, please refer to Project Athena: Supporting Distributed Computing at MIT). As part of this study, a unifying window system environment extending over all systems was deemed necessary. X was envisioned as this window system, one that could be used among the varied heterogeneous computers and networks.
As Project Athena progressed, X evolved into a portable network-based window system. Much of the early work on X was derived from an extant Stanford window system called W. In fact the name X was simply a play on the previous name W. The MIT X Consortium, founded in 1988, is dedicated to the advancement of the X Window System and to the promotion of cooperation within the computer industry in standardizing the X Window System interfaces.
Current X releases contain two numbers: the version number indicating major protocol or standards revisions, and a release number indicating minor changes. At the time of writing, the latest version is X11 Release 6, also known as X11R6. The latest release of OSF/MOTIF is V1.2 (based on X11R5). Major revisions of X are incompatible, but there is backward compatibility with minor releases within major revision categories.
The aim of X was to allow the user to control all sessions from one screen, with applications either running in a window, or in separate virtual terminals but with an icon on the primary screen reminding him of the existence of that application (the same function as OS/2 Presentation Manager).
The X Window System provides the capability of managing both local and remote windows. Remote windows are established through TCP/IP, and local windows through the use of BSD sockets.
Basically there are two parts communicating with each other:
Terminology:
The X11R5 X server has provided some speed improvements and new font interfaces. An X Font Service Protocol is available to allow the X servers to delegate the task of managing fonts to a font server.
X11R5 added some more clients, new demos and a completely new implementation of bitmap and xmag.
X11R5 added two new major pieces of functionality to Xlib:
Functionality:
Applying this client/server concept gives the following advantages:
An X Window System protocol can be implemented on top of any reliable byte stream transport mechanism. It uses a simple block protocol on top of the stream layer. Four kinds of messages are used:
Where:
Reply, error and event messages are sent by the X server to the X client applications.
Displays are always numbered from zero. For TCP connections, display number N is associated with port 5800+N (hex 5800) and port 5900+N. The X server treats connections on the 58xx ports as connections with hosts which use the "low-order byte first" format, and the 59xx ports as "high-order byte first".
There are more than a hundred different possible requests, each corresponding to an Xlib application call. As this document is not a programmer's guide, we will not deal with the Xlib functions. RFC 1013 - X Window System Protocol, Version 11 contains the 1987 alpha update of the X11 protocol. For documentation on the current release X11R6, please contact either MIT or a commercial computer books publisher. For documentation on IBM X Windows implementations, please see the appropriate section in Bibliography.
The TCP/IP for VM API is from the X Window System Version 11, Release 4 and includes the following components:
In addition, it also includes an API based on Version 1.1.2 of the OSF/Motif-based widget set which has the following components:
GDDMXD is an interface to the Graphical Data Display Manager/VM (GDDM/VM or GDDM/VMXA). This interface permits graphics display output from the IBM GDDM/VM to be displayed on workstations that support the X Window System. The interface translates the data stream, created by GDDM, to the X protocol, and transmits it by TCP/IP to the X server. If GDDMXD is installed on your system, but is not active, GDDM transmits data as if the interface were not present. The X GDDM interface should be installed by the person responsible for installing GDDM, because the shared segment of GDDM needs to be reinstalled during X GDDM interface installation. Please refer to IBM TCP/IP Version 2 Release 3 for VM: Planning and Customization for more details about the installation of the X GDDM interface, and to IBM TCP/IP Version 2 Release 3 for VM: Programmer's Reference for more programming considerations.
No X server function is provided for VM users.
The TCP/IP for MVS API is from the X Window System Version 11, Release 4 and includes the following components:
In addition, it also includes an API based on Version 1.1.2 of the OSF/Motif-based widget set which has the following components:
GDDMXD is an interface that allows graphics from the IBM Graphical Data Display Manager/MVS to be displayed on workstations that support the X Window System.
The interface translates the data stream, created by GDDM, to the X protocol, and transmits it by TCP/IP to the X server. GDDMXD was implemented such that existing GDDM applications can function as X Window clients without modifications or relink.
If the GDDMXD is installed on your system and not activated, or has been made inactive, GDDM transmits data as if the interface were not present. Please refer to IBM TCP/IP Version 3 Release 1 for MVS: Customization and Administration Guide for more details about the installation of the GDDMXD interface, and to IBM TCP/IP Version 3 Release 1 for MVS: Programmer's Reference for more programming considerations.
IBM TCP/IP for MVS supports the OpenEdition/MVS with the following set of object libraries with the X Windows routines compiled with the C/370 RENT compiler option (Reentrant):
These libraries can be used as input for linking reentrant OpenEdition/MVS X Windows applications.
No X server function is provided for MVS users.
Both a client and server X Window System is implemented by AIXwindows Environment/6000 Version 1.2.5.
AIXwindows Environment/6000 Version 1.2.5 provides a graphical interface to AIX/6000 V3.2.5. It is based on and compatible with the industry-accepted X Window System and the OSF/Motif 1.2.2 graphical user interface. It can also interact with other AIX and other equipment manufacturer systems implementing the X Window System and OSF/Motif interfaces. AIXwindows Environment/6000 provides a sophisticated graphical desktop (AIXwindows Desktop) that can be tailored for integrating and launching applications. AIXwindows Environment/6000 provides the facilities to execute and develop X applications, OSF/Motif applications or applications requiring Display PostScript support.
If you require 3D capability, the AIXwindows/3D feature provides the facilities for the development and execution of 3D applications using a variety of industry standard APIs. This includes hardware accelerated support for PEXlib, graPHIGS and GL 3.2 as well as a pure software implementation of OpenGL, PEXlib and graPHIGS, referred to as Softgraphics. Softgraphics allows all 3D functions to be performed by software where the graphics adapter is used simply as a frame buffer to display the image. This implementation makes it possible to run 3D applications on any 2D graphics adapter.
AIX Version 4.1.1 contains the AIXwindows 2D environment, and this function is loaded automatically at installation time upon detection of a supported graphics card. The AIXwindows 2D environment is based upon X11R5 and Motif 1.2.3.
A new graphical user interface based on the Common Desktop Environment (CDE) was added.
AIXwindows Environment/ESA Version 1 Release 2 implements the X Window System Version X11R5 and OSF/Motif Version 1.1.4 with single byte, double byte, and multibyte data streams in which characters can be encoded up to 4 bytes each. The code set support in AIX/ESA Version 2 Release 2 includes the support of ISO 8859-1, ISO 8859-7 (Greek), ISO 8859-9 (Turkish), IBM PC Code Page 850, IBM PC Code Page 932 (Shift-JIS), and IBM Japanese EUC (Extended UNIX Code).
AIXwindows Environment/ESA provides the X Window System client functions.
The X server function is available in the X Window Server Kit (PMX) of TCP/IP V2.0 for OS/2 (X11R5).
The X server function uses OS/2 PM as the X Window manager and supports all the keyboard, display, and pointer functions that are supported by OS/2 PM. Using PM as the X Window manager enables OS/2 PM windowed applications and X client applications to share the same screen. As a result, X client applications cannot act as the X Window manager for the OS/2 X server.
The X client function is available in the X Window Client Kit of TCP/IP V2.0 for OS/2 (X11R5).
Motif 1.2 function is available in the OSF/Motif Kit of TCP/IP V2.0 for OS/2. The X Window Client Kit mentioned above is a prerequisite for the OSF/Motif Kit.