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.3
, OSF/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