The X Window System


History
Started at MIT in the mid 80's (with strong support from DEC and IBM), as part of a project involving the adoption of advanced workstations as the primary computing resource
A main aim was to produce a non-proprietary windowing system which clearly separate the device-dependent parts of the system, and enable a consistent, hardware-independent programming interface
... in other words programs written for the X Window System would run on any hardware on which the device-dependent portion (the X Server) was available
Another main aim was to enable distributed working - the ability to execute a program on a remote machine, but interact with it (with a full GUI) on a local workstation (see the client-server model)


Basic components of X
Xlib - The basic library of C routines which can be used to create windows, draw graphics and text, handle mouse and keyboard events etc.
When executed at runtime, these Xlib functions generate messages in the X protocol which are sent to the X Server (either on the local machine, or on a remote machine)
X Server - the X Server software, running on a particular workstation, receives messages from X programs (generally called clients) and responds by creating and displaying windows on the screen, drawing graphics and text, polling the input devices for input events, and sending the events back to the appropriate X client (NB each workstation has *one* server running, which "services" many clients)
the window manager is "just" a special client which provides the user with the ability to iconize, move, destroy etc. windows created by other clients. In the early days of X a number of window managers were written, but more recently the one associated with the Motif toolkit (see below) has become the dominant one.


Higher level software components of X
The X Intrinsics - programming at the Xlib level is laborious - every event has to be monitored and sent to the appropriate window, and construction of complex GUI interfaces is almost impossible...
... so a higher level layer of software was developed called the X Intrinsics, which defines software components called widgets, which encapsulate the appearance and event handling seen in buttons, scrollbars etc.
The most important set of widgets built using the X Intrinsics is the Motif set, distributed by the Open Software Foundation (OSF) (but see below)
Over the past few years, a number of vendors have produced "desktop environments" based on Motif and offering icon-based access to email, file-management, terminal and editing services.  These have now converged as the non-proprietary "Common Desktop Environment" (CDE), as see on our DEC Alphas


Current status and future development of X/Motif
X and Motif are now the responsibility of the Open Group. The current (Oct. '97) releases are  X11R6.3OSF/Motif 2.1 , and  CDE 2.1
Of potential importance to the future survival of X is the new (in X11R6.3) ability to run X sessions from within Web browsers - this technology has been given the name Broadway
 

A few X links
Brief notes from a one-week X/Motif Programming Workshop
Kenton Lee: Technical X Window System and OSF/Motif WWW Sites
MW3: Motif on the World Wide Web