MIT holds the rights to X, but gives it away free. The X consortium refer to X as: X Window System or X Window or X11 or just plain X
X11 refers to the version 11 of which the latest release is Release 7. At its basic level X can be described simply as a C graphics library.
A window is an area of the screen allocated to a given application program.
The X-window system is widely available on every UNIX platform. X is a client/server architecture. The X server is the program that controls the display capability and may be found on the host or the local machine. This may seem to be the reverse to the normal client/server model. The following notes may help to explain.
The X server on the local machine accepts requests over an ethernet connection from X client 1 running on the remote host called golum, and from X client 2 running locally to provide the display the needed resources. It is after all, the display screen that is being served as the clients require a bit-mapped output.
Other GUI systems can be added to the X-window environment such as Motif which has its own window manager.
| Toolkit |Intrinsic library Widget set | | layers | | | | Xlib | ----------------------------------------------------- | X server | X network protocol library | | layers | | | | Base X software |The X server layer is at the base and contains the base X software and the X network protocol library. Built on top of this layer is the programmers Toolkit layer. The Toolkit is a high-level programming library used to develop the many X applications such as mosaic, dxmail. The Toolkit contains the standard Xlib runtime library, the Intrinsics Library of object-oriented routines and a collection of widget routines called the widget set.
The widget is a routine that implements an interface entity such as a push button, a scroll bar, an editing window or a pop-up menu. The widget set is used by programmers to build a GUI such as Motif or Open Look.
X Application Program type dxmail mail program dxnotepad text editor dxpaint paint program ghostview PostScript viewer (with demo files) mosaic WWW hypermedia browser netscape WWW hypermedia browser SimCity Simulation game (5 minute demo only) xclock Clock tool xedit text editor xfig object drawing program xmh mail program xv image viewer (JPEG, GIF files etc)
You need to connect to your golum account using the MicroX terminal emulator
Exercise 1 Choose any TWO (2) of the following activities:
dxpaint create and save a paint document netscape view and save a HTML document dxnotepad create and save a text file xv view a JPEG or GIF file
There are many commands available in UNIX which makes it a versatile programming environment in Pascal and C. The command lanaguage interpreter is often called the shell and can be also for programming. Since the shell can read commands from a file, the user can write their shell scripts and customise the range of commands and ultimately, their interface to UNIX. There are two common shells in UNIX:
Usually however, systems programmers are the users who have to write shell scripts to help maintain the system that is running UNIX. Others UNIX developers may prefer to write GUI applications to run under the X-window interface.
The widget game
In contrast to programming in Pascal, C or the UNIX shell, GUI programmers can use the programming tools of the X-window system, to develop interesting software applications. It is possible to program at several different levels starting with C and low-level libraries and going up to simple, but powerful scripting systems like tk-tcl (often pronounced tk tickle).
Compiled by Ken Eustace, 1996