ECN No Name Newsletter: May, 1987

The ECN No Name Newsletter is no longer being published. This is an archived issue.

[previous article] [next article]

The X Window System

David A. Curry

In February, the X Window System from MIT was installed on the Sun workstations. This is a public-domain window system (similar in purpose to the suntools system, provided by Sun Microsystems), and has gained quite a bit of popularity in the two or three years it has been available. We are currently running X Version 10 Release 4; we hope to be switching to Version 11 when it is released, possibly as early as this summer.

Generally, X is very similar to suntools, at least from the application user's point of view. There are special programs for terminal emulation, graphics, clocks, displaying fonts, editing bitmaps; however, X is much more configurable than suntools. The user can pick, via configuration files, which mouse buttons are used for which functions and what are the default configuration for most X tools. This enables the user to choose from a wide variety of functions and to configure his own environment to reflect personal preferences. There are, in fact, three different window managers from which to choose. Further, if you are so inclined, you can write your own programs to do whatever you wish, and because of the way X is written, your window manager will ``drop right in'' with no other changes required.

To the programmer, X will appear to be much nicer than suntools . The library routines are in principle similar to those used by suntools , but the scheme for receiving events (such as the mouse buttons being pressed or letters being typed) is completely different. Suntools requires the programmer to supply a handler routine for each event. The programmer has no control over the order in which these functions will be called by suntools , thus great pains must be taken to make each handler independent of the others. X, on the other hand, works in a way familiar to most programmers. Instead of providing handler routines to a ``dispatch'' process, the programmer explicitly calls a library routine to ask for the next event, and then deals with it himself, however he sees fit. In this way, X is very similar in principle to simply reading input from the user and acting upon it.

Unlike suntools, X is device-independent. This means that it runs on workstations from several different manufacturers, including Sun (the Sun-2 and Sun-3), Digital Equipment (the GPX- II), and IBM (the RT-PC). There are also a few implementations of X for the Intel 80286/80386-based machines, both under MS-DOS and UNIX. These companies, along with several others (including Siemens AG, Sony, Data General, Adobe, and Masscomp), announced in January that they would promote X as an industry standard for networked graphical computing environments. They also announced that they would work to further develop X, encourage the adoption of X as a formal standard, and incorporate X into new products.

What does all this mean to you, the user? Simply, it means that whether you are running on a Sun, a GPX-II, or some other workstation from one of these companies, when you sit down in front of the workstation your environment will be something you are used to. With minor exceptions (e.g. number of buttons on the mouse), X works "exactly the same way" on all these machines. This means that you will be able to move with ease from one machine to the next without too much thought about ``now, what do I do to create a window on this machine?'' Perhaps more importantly, it means that any programs you write to use the X window system will be portable between all the various workstations. If you write a program for your Sun-3, and later decide you want to run it on an IBM RT-PC, you can simply copy the source files to the RT-PC, recompile them, and you're all set. This is different from programs written for suntools, which would need to have major changes made to them before they could run on any workstation but a Sun.

As the Suns which have been ordered for the Schools of Engineering arrive this summer, we expect to meet several people who are interested in X. For documentation on X, you should contact your site specialist who can obtain it for you (at present, the documentation is only available on-line and in a few printed copies). Additionally, if once the Suns arrive you decide to run X, you will want to have your name placed on the Xpeople mailing list. This mailing list is used to reach other X users at the ECN; you can use it to ask questions, and it is the usual method we use to announce new programs. Another list, Xhackers, is available for those of you who will be actively involved in developing new programs under X. If you would like to be placed on either of these mailing lists, please contact me by sending mail to ``davy''.

As time goes on, we will be collecting more and more X programs and installing them. We expect the list of tools for X to grow much more rapidly than those for suntools because X is in the public domain and runs on several different workstations rather than just Suns. Watch this space for more announcements of of new programs as they arrive.


webmaster@ecn.purdue.edu
Last modified: Saturday, 01-Nov-97 13:38:56 EST

[HTML Check] HTML