Home   Inte
rnet   Security       Virtual Machine   Vir
tual Memory   Processes   

Windows

UI Introduction

GUIHome

Mouse

Pointers

Dot  Windows

Menus

Icons

GUIDemo


A windowing system is for sharing a computer's graphical display presentation resources among multiple applications at the same time. In a computer that has a graphical user interface, you may want to use a number of applications at the same time (this is called multitasking). Using a separate window for each application, you can interact with each application and go from one application to another without having to reinitiate it. Having different information or activities in multiple windows may also make it easier for you to do your work.

A windowing system uses a window manager to keep track of where each window is located on the display screen and its size and status. A windowing system doesn't just manage the windows but also
other forms of graphical user interface entities (usually called widgets).

The rectangular geometry of most windowing user interfaces lends itself naturally to the orthogonal range searching techniques studied in computational geometry. A typical problem arising in this context might be to find a data structure for quickly determining which window or window system object is topmost at a given screen pixel (for instance this information is needed to process mouse clicks and to set the mouse's appearance). Range searching techniques can be useful even within a single window, to speed up scrolling and redisplay by determining which objects are visible in a region.

The X Window System is a cross-platform windowing system that uses the client-server model to distribute services in a network so that applications can run in a remote computer. Users of workstations or terminals using the X Window System don't need to know where the application is located. Apple's Macintosh and Microsoft's Windows operating systems have their own windowing systems built into the operating system.


Organizational Model

The definition of what is and isn't part of a GUI will vary from one system to another. The parts of a GUI that interact with each other also vary. This is a general model that will show general components that some GUI systems contain.


The processor used with a given GUI will vary, as will the operating system. Therefore, one of the layers of the model contains that element. The model starts at the top with the application. This is considered the main point where user contacts the system. It is true the user will come in contact with the elements of the GUI itself such as menus and icons. The model is not intended to be an exact representation but a basic model.

There are five basic layers to the model plus the application, operating system and the processor.

Object Model:
The way applications react with each other and themselves often involves the use of an object model. In some views Hypercards in the Macintosh can be thought of as an object model. NewWave is definitely an object model. The object model is the latest layer of the GUI scheme and some GUIs do not yet have one. Others leave it to third-party suppliers.

Application Program Interface:
The Application Program Interface (API), is a set of programming language function calls that are used by application developers to communicate with the GUI. A programmer must specify which functions (ex. Windows, menus, scroll bars and icons) are desired and when. Both Presentation Manager and Windows have their own APIs. DECwindows uses an API called XUI for User Interface, which includes function calls for the X Window system. OPEN LOOK is the latest API for Sun Microsystems operating system. NeXtstep uses its own API, defined by a library of objects grouped inti kits, and its own windowing system, the window server. Motif uses a combination API from Digital (XUI) and HP

The GUI:
What is and isn't part of the GUI varies from system to system. The GUI is where the screen actions and elements reside (popup or pull-down menus, scroll bars etc.).

The Window System:
Almost as hard to define as the GUI, the window system in a GUI is critical to its implementation and interoperability. The X window system is only a window system and is not a GUI. Windows on the other hand has both the GUI and a windowing system built in.

Image Model:
While the X Window System doesn't have an image model, some GUIs support more than one imagine model. Sun's NeWS is similar to the PostScript imaging model Display PostScript (DPS). It can also turn over to a complete graphics imaging system such as PHIGS or GKS for controlling a CAD program.



Back Ground:

Multiple tiled windows were demonstrated in Engelbart's NLS in 1968. Early research at Stanford on systems like COPILOT (1974) and at MIT with the EMACS text editor (1974) also demonstrated tiled windows. Alan Kay proposed the idea of overlapping windows in his 1969 University of Utah PhD thesis and they first appeared in 1974 in his Smalltalk system at Xerox PARC, and soon after in the InterLisp system. Some of the first commercial uses of windows were on Lisp Machines Inc. (LMI) and Symbolics Lisp Machines (1979), which grew out of MIT AI Lab projects. The Cedar Window Manager from Xerox PARC was the first major tiled window manager (1981), followed soon by the Andrew window manager by Carnegie Mellon University's Information Technology Center (1983, funded by IBM). The main commercial systems popularizing windows were the Xerox Star (1981), the Apple Lisa (1982), and most importantly the Apple Macintosh (1984). The early versions of the Star and Microsoft Windows were tiled, but eventually they supported overlapping windows like the Lisa and Macintosh. The X Window System, a current international standard, was developed at MIT in 1984.