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]

I do windows... (Windows, What are they?)

Dwight D. McKay

On most workstations, such as Apple's Macintosh series and the SUN workstations now appearing around ECN, you see a lot of windows. What are windows? They are the generic name for a new method of interacting with a computer made possible by the high performance and large bitmapped display common on today's workstations. In this article I'll describe window systems in general, then give some specific features and examples from various window systems you might encounter.

The central concept behind a window system is that of the "desk top". The top of a desk is usually rectangular and frequently covered with various pieces of paper and things like a stapler or desk calendar. A window system simulates a physical desk top on a bitmapped screen. The screen's background is the equivalent of the desk surface. On "top" of this surface are placed various rectangular windows, such as terminal windows or text previewers which correspond to the papers on a conventional desk, and like a conventional desk top, window systems have a variety of desk accessories, such as clocks, performance monitors and calendars.

Of course, on a real desk you can simply grab your papers or calendar and make use of them. On a workstation screen it's a bit more complicated. Most workstations use a mouse to allow you to work with items on the screen. Developed at Xerox, the mouse is a small box with one to three buttons on top and a position sensor consisting of a ball or optical device on the bottom. Moving the mouse about on the table next to a workstation moves a pointer on the screen. By pointing, or aiming the screen pointer at a certain location on the screen and clicking one of the buttons on the mouse you can control the items on the screen.

A few examples might be in order here. First, let's look at a simple window system, Apple's Macintosh. On the Mac most commands are issued via "pull down" menus which come from the text items listed in the "menu bar" at the top of screen. For example, to look at the clock desk accessory, you would point at the apple symbol on the menu bar and hold down the mouse button. This would reveal a pull down menu. With the button still depressed, you would move the pointer to point at the "Alarm Clock" item and release the button. A clock will appear on the screen. To get rid of the clock, the Mac window system uses a "closer box". Aiming at this box, at the upper right of the clock, and clicking the mouse button would make it disappear.

Other operations in a window system make use of the mouse. For example, to move a window around the screen when using the Suntools window manager is a matter of pointing at the top name stripe of a window and pressing the middle button of the mouse. An outline of the window will appear, which you can move around the screen, then when you release the button, the window will move into the position where the outline was.

With similar functions you can create, move, delete, open and close windows, but why would you want windows in the first place? The biggest single reason for windows is that you are able to do and see all of the most common computer interaction tasks on a single display at the same time. You can have a window which acts like a conventional terminal but in whatever size you need. You can have a window which acts like a graphics terminal or perhaps a specialized graphics device such as a troff previewer or "paint" program. You can have a graphics interface into a familiar program such as dbxtool which provides on screen "buttons" to control the dbx debugger. And there's much more.

A window system provides a regular interface to a display, keyboard and mouse. The window system handles such items as detecting keyboard entries, mouse position and button press events, as well as, hiding some of the characteristics of a given graphics device from an application program. Writing applications for a window system aid the developer by providing library routines for the most common graphics, text and user input functions, so that the programmer can concentrate on the application instead of the user interface.

Window systems are adding more powerful methods of interacting with a workstation user. In the future, more programs will say, "I do windows."


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

[HTML Check] HTML