Upload
jeremy-taylor
View
219
Download
0
Embed Size (px)
Citation preview
8/6/2019 A Taxonomy of Window Manager User Interfaces
http://slidepdf.com/reader/full/a-taxonomy-of-window-manager-user-interfaces 1/20
Window Interfaces
A Taxonomy of Window Manager User
Interfaces
Brad A. Myers
Carnegie Mellon University
This article presents a taxonomy for the user-visible
parts of window managers. It is interesting that there
are actually very few signi ficant differences, and the
differences can be classified i n a taxonomy with fairly
limited branching. This taxonomy should be useful in
evaluating the simi larities and differences of various
window managers, and it will also serve as a guide for
the issues that need to be addressed by designers offuture window manager user interfaces. The advan-
tages and disadvantages of the various options are also
presented. Since many modern window managers
allow the user interface to be customized to a large
degree, it is important t o study the choices available.
A indow manager is a software package that helpsthe user monitor and control different contexts by
separating them physically onto different parts of on e or
more display screens. At its simplest , a window manager
provides many separate terminals o n the same screen,
each with its own connection to a time-sharing com-
puter. At its most advanced , a window manager supports
many different activities, each of which uses many win-dows, and each window, in turn, can contain many
different kinds of information including text, graphics,
and even video. Window managers are sometimes imple-
mented as part of a computer’s operating system an d
sometimes as a server that ca n be used if d esired. They
September 1988 0272-1;1618810900-0065s0100 198R l t E E 65
Authorized licensed use limited to: Carnegie Mellon Libraries. Downloaded on August 10, 2009 at 22:52 from IEEE Xplore. Restrictions apply.
8/6/2019 A Taxonomy of Window Manager User Interfaces
http://slidepdf.com/reader/full/a-taxonomy-of-window-manager-user-interfaces 2/20
ma n >
manl/ manY mmWman> cd manlm a d >x.1 r c s l z c . 1b l f f . l w .1bltaap.1 xclock.1kcycmp. 1 x c o l o r r.pIkaplx.1 xdmo.1manl) 11t o t a l 1 8 1-rw-r--r-- 1 mlrc-w-r--r-- 1 mirc-w- r - - r - - 1 mlrc-w- r - - r - - 1 mirc
-pw-p--p-- 1 mlsc-RJ-r--r-- 1 mlsc-w-r--r-- 1 mlsc-w- r - - r - - 1 mlrc-rw-r--r-- 1 m i s t
-w- r - - r - - 1 mlsc-w- r - - r - - 1 n i r c-w- r - - r - --w- r - - r - -
-w-r--r--
-w-r--r---w-r--r--
-w-).--r--
-pw-p--r--
-rw-p--p---w-r--r--
-rw-r--r---rw-r--r--
-w-r--r---w-r--r--
-w- r - - r - --rw-r--r--
-pw-r--p--
1 mlsc1 n l r c1 misc1 m l s c1 n l r c1 mlsc1 mlrc1 mlsc
1 mlsc1 mlrc1 mlsc1 mlrc1 mlsc1 mlsc1 mlsc1 mltc
xdpr. 1X d v l . 1xfax.1xfd.1
xhost .1
16591 Apr2188 Apr
13633 Apr5648 Apr3516 Apr1539 Apr
15276 Apr5145 Apr2421 Apr6711 FIpr1023 Apr
xlmpv.1 xpr.1 xtre k.1x l n l t . 1 x r e f re r h .1 w d . 1x l oa d .1 x s e t . 1 w l n i n f o . 1x m . 1 x s h c l l . 1 m.1
xpcrfnon.1 xtcm.1 xuud.1
2736 Apr 30 20:26178 3 Apr 30 2O:X
2671 Apr 30 20:26152 6 Apr 30 20:263805 Apr 30 20:262311 Apr 30 20:264360 Apr 30 20:26
10720 Apr 30 20:263472 Apr 30 20:265002 Apr 30 20:261053 Rpr 30 20:26
2151 Apr 30 20:266811 Rpr 30 20:26
27590 FIpr 30 20:26742 Apr 30 20:26
2367 A m 30 20:26
OHodlfy(Tab1cCountcr. Table "Content.")R . (odI f~(F lgurcCountc r , Table "Contents" )
I h a v e n ' t t r l c d I t . b u t I t l o o ks I l k c I t s h o ul d U
1L
w - r - - r - - 1 mlr c 4192 Apr 30 2O:Xw-r - - r - - 1 m l r c 9263 Apr 30 20:26rw-r--r-- 1 cllcc 2654 J u l 9 13:57an i> xud -ou t /trp/wd.dwllp
Figure I. An example of a typical screen using the X window manager4 with overlapping windows. Some
windows have title lines (the top-left window's says "xterm #2"). The background, where there are no win-
dows, is gray. The small windows at the bottom are icons.
can even be implemented by individual application pro-
grams or programming environments.Window managers have become popular primarily
because they allow separat e activities to be put in phys-
ically separate parts of the computer screen. The user ofa computer is frequently shifting focus from one activity
to another, including such small shifts as changing from
editing one file in a text editor to editing another, andsuch large context shifts as changing from compiling a
program to reading mail.
Before window managers, people had to remembcr
their various activities and how to switch back and forth.
Window managers allow each activity to have its ow n
separate area of the screen (its own "window"). Switch-
ing from on e windoiv to another is usually very simple.This physical separation is even more important when
the operating system allows multiple actiLTities to oper-
ate at the sa me time ("multiprocessing"). For example,in Unix, the user can compile one file at the same time
a different file is being edited. On a conventional termi-
nal, if the compiler process outputs any data, it is con-fusingly interspersed with the editor's display. If the two
processes request input at the sa me time, the user maygive the inpu t to the wrong program. Window managers
help with these problems by providing separate areas in
which each process can perform input and output.
ti6 I E E C o m p 11t t' r G r a p h c,s R. Applic B o 11s
Authorized licensed use limited to: Carnegie Mellon Libraries Downloaded on August 10 2009 at 22:52 f rom IEEE Xplore Restrictions apply
8/6/2019 A Taxonomy of Window Manager User Interfaces
http://slidepdf.com/reader/full/a-taxonomy-of-window-manager-user-interfaces 3/20
Another advantage of window managers is that they
provide a higher level interface to the mouse, keyboard,
and screen, and therefore can support much higher qual-
ity user interfaces. For example, the window managerson the Star’ and Macintosh’ help support the meta-
phor that using the compute r is like doing operations on
a physical desk. This higher level interface can also make
application code more portable from one machine to
another, since the same window manager proceduralinterface can be provided on different machines. Thiswas an important motivation for the development of the
X window manager.4
Today ther e are a large number of window managers
in existence from many companie s and research groups,and more are being created all the time. In surveying
these window managers, it became clear that there are
many similarities between all of them, and the differ-
ence s can be characterize d on a small number of differ-
ent axes. (This survey was started at the Alvey MMIWorkshop on Window Management.‘) Most of the
ideas seem to have originated at the Xerox Palo AltoResearch Center, including windows in general
(Smalltalk‘), pop-up menus,7 cons (Tajo8,9 nd Star’.‘),
and tiled windows (Cedar” ,”). Of course every windowmanager has its own original aspects, but most of the
important features of the user interfaces of window
manager s do not s eem to vary markedly.
With the advent of the X window manager,4 which is
rapidly becoming a de facto standard, the study of theuser interface component is becoming more critical.
This is because X and many other modern windowmanagers allow the user interface to be changed, while
still maintaining the same application interface. User
interface designers therefore a re faced with not only achoice for the user interface of their application, but alsofor that of the window manager. It is therefore important
to focus on the different choices in the user interfacecomponent of windo w managers. This article presents
a taxonomy of the choices used i n existing window man-
ager user interfaces, along with some advantages anddisadvantages of each choice.
(At the time of thi s wri ting, Xerox, AT&T, and S un had
just announced a portable window-manager user inter-face called “Open Look,” which apparently will beimplemented on multiple-window managers, including
X ’ nd NeWS.” Open Look, which is based partially onthe user interface of the Xerox Star, is designed to match
the ease of use of the Macintosh, and thereby make Unixsystems more user friendly.)
Definition of termsThe previous section defined “window managers”
and discussed the reason they are so popular. This sec-
tion defines some related terms that a re important for
understanding how windo w managers work.
A window manager ca n be logically divided into two
layers, each of which has two parts. The base layer imple-
ments the basic functionality of the window manager.
The two parts of this layer handle the display of graphics
in windows and access to the various input devices
(usually a keyboard and a pointing device such as amouse). The primary interface of this layer is to other
programs, and it is called the window manager’s appli-
cation o r program interface. The base layer is not dis-cussed further in this article. The othe r layer of window
manager s is the user interface. This includes all aspect sthat a re visible to the user. Sometimes the base layer is
called a window system, reserving the name “window
manager ” for the user interface layer. Since this article
deals only with the user interface layer, the term “win-
dow manager” is used here.
The two pa rts of the u ser interface layer are the presen-tation, which is composed of the pictures that the win -
dow manager displays, and the operations, which are the
comma nds the user can give to manipulate the windows
and their contents. Figure 1shows windows that demon-
strate different aspects of the presentation, includingpatterns or pictures for the area where there ar e no win-
dows, title lines and borders for windows, etc. Examples
of the operations that may be provided for windows
include moving them arou nd on the screen and specify-ing their size.
One very important aspect of the presentation of win-
dows is whether they can overlap or not. Overlapping
windows , sometimes called covered windows, a re a fea-
ture allowing a window to be partially or totally on top
of another window, as shown in Figure 1.This is also
sometimes called the desktop metaphor, since windows
can cover each other like pieces of paper can cover each
other on a desk. (There are usually other aspects to the
desktop metaphor, however, such as presenting file oper-ations in a way that mimics office operations, as in the
Star office workstation.’,’) The other alternative is
called tiled windows, whic h means that windows are not
allowed to cover each other. Figure 2 shows an example
of tiled windows. The advantages and disadvantages of
each are discussed below. Obviously, a window manager
that supports covered windows can also allow them to
be side by side, but not vice versa. Therefore, a window
manager is classified as covered if it allows windows to
overlap.
Another important aspect of the presentation of win-
dows is the use of icons. These are small pictures that
represent windows. They are used because there wouldotherwi se be too many windows to conveniently fit on
the screen and manage easily. When a window is not in
use,it
can be removed a nd replaced with its icon, andlater conveniently retrieved when needed. Figure 3
shows examples of icons from some different window
managers. The section on icons discusses the options
available for icons in more detail.
An important aspect of window managers is how the
user changes which window is connected to the key-
September 1988 67
Authorized licensed use limited to: Carne ie Mellon Libraries Downloaded on Au ust 10 2009 at 22:52 from IEEE X lore Restrictions a l
8/6/2019 A Taxonomy of Window Manager User Interfaces
http://slidepdf.com/reader/full/a-taxonomy-of-window-manager-user-interfaces 4/20
Figure 2. A screen from the Cedarlo9”window manager. Windows are “tiled” into two columns. There is a
row of icons along the bottom. Each window has a fixed menu of commands below the title line.
board. Although there will typically be multiple win-dows, there is usually only on e keyboard for each user.
Therefore, only one window at a time can be attached
to the keyboard. This window is termFd the listener, since
it is listening to the user’s typing. Another term for this
window is the input (orkeyboard) focus. Older systemscalled the listener the “active window” or “current win-
dow,” but these are poor terms, since in a multiproces-
sing system, many windows can be actively outputting
information at the same time. Window managers provide
various ways to specify and sho w which window is thelistener.
Most window managers use some form of pointer,which is an input device that returns a 2D value used to
identify locations on the screen. Pointing devices are
typically used for specifying window size and position,
for selecting characters in an editor, for drawing lines in
a graphics program, and for transferring a picture (such
as a map) nto the computer by specifying points (this last
use is called digitizing). Examples of pointing devices are
light pens, electromagnetic tablets with pucks or pen-like styli, touch-sensitive surfaces (touch tablets or touch
screens), trackballs, and mechanical or optical mice.’”Since the most popular pointing device fo r window
manager s is a mouse, the term mouse will often be used
in this article to mean pointing device.Light pens and touch screens are used for pointing
directly at the screen, but with the other types the user
moves a device on th e desk o r on a special surface, anda small pictu re, called th e tracking symbol or cursor, fol-
lows the movement on the screen. In many windowmanagers the picture for the cursor can be chang ed, buta common picture is an arrow pointing to the upper left.
Pointing devices usually have one or more buttons. Fo r
example, there a re typically one to three buttons o n the
top of a mouse. Some window manager s allow the user
68 I E E E C o m p u t e r G r a p h i c s & A p p l i c a t i o n s
Authorized licensed use limited to: Carnegie Mellon Libraries. Downloaded on August 10, 2009 at 22:52 from IEEE Xplore. Restrictions apply.
8/6/2019 A Taxonomy of Window Manager User Interfaces
http://slidepdf.com/reader/full/a-taxonomy-of-window-manager-user-interfaces 5/20
14
Sapphire
Macintosh
11Cedar
Star
Figure 3. Examples of icons from different systems: Sapphire,I3Ma ~ i n t o s h , ~,4 Cedar," and Star.' Some of
the X icons contain the actual text displayed in the window in a tiny (unreadable) font.
to press two o r three times quickly to specify additional
commands. This is called multiclicking (for example,
pressing twice quickly is double-clicking). Window
managers may also suppor t holding down keyboard keys
(such as the shift key) while pressing a mouse button.
This is often used to modify the button's meaning.
The window manager versus add-ons
To compar e window managers, it is first necessary to
establish the boundar ies of discussion. A window man-
ager provides the basic service of managing differentwindows o n the screen, as defined above. In many sys-
tems, however, other services are also provided, and
these are often classified as part of the window manager.By providing these services in a central place, the system
promotes consistency and makes applications easier. Tocompare the window managers of these different sys-tems, however, it is important to classify which aspects
are being compared and which are considered add-onservices. This section discusses some of these add-onsso that the rest of the article can concentrate o n the win-
dow manager portion itself.
Some common add-ons are th e following:
1. a typescript package (handles user typing)
2 . entire editors
3 . a graphics package for output (also called the imag-
4. menus of various kinds
5. forms (also called dialogue boxes)
6. scrolling mechanisms
7. general tool kits (which usually include menus,
ing mode l
forms, and scrolling mechanisms]
September 1988 69
Authorized licensed use limited to: Carnegie Mellon Libraries. Downloaded on August 10, 2009 at 22:52 from IEEE Xplore. Restrictions apply.
8/6/2019 A Taxonomy of Window Manager User Interfaces
http://slidepdf.com/reader/full/a-taxonomy-of-window-manager-user-interfaces 6/20
Table, Window managers discussed in this article.
Nane Cleatedby - - ~ ~omments ReferencesSmalltalk Xerox PARC AltoDLisp Xerox PARCInt er m-D Xerox PARC
Tajo Xerox SDDStar Xerox SDDBlit AT&T Bell LabsDisplay Manager Apollo?? SymbolicsSapphire Three RiversPNX ICLsun w ndows Suncedar Xerox PARCWindow Manager AppleWindow Manager AppleAndrew CMU ITC (Elm
Whitechapel WhitechapelR T L /C R T L SiemensMSWindows Microsoft
AltwmainframeDorado
DandelionDandelionB lit
ApolloSymbolics
PERQPERQ
SunDaradoLisa
MacintoshIBM-RT, Sun
MG-1PERQ
IBM-PC
CC
CTCCCCCCTCCT
CT
T
Viewpoint Xerox SDD 6085/1186 T orC
X MIT Proiect Athena cmanv> C
first use of icons, renamed "XDE"firstproduct with windows1stdocumented impl.; terminal emulatororiginally had no mouseuses multi-clickingactive icons
feedback is full windows
first tiled; used graphics package
popularized windows & mouse
no columns; used constraintscurrent version supportscoveted also
swcessor to Xerox star
4035
8.9.381,2,4636494813411710,11,20183.1916233328
32first "portable" WM: emerainn standard 4.24.27
8. user interface management systems or U I M S S "
(which usually include a tool kit)
Typescript package
An example of a service that is often provided by win-
dow managers is the handling of typing. This is oftencalled a typescript package, and it usually supports some
rudimentary line editing (backspace, delete line, etc.).The idea is to mimic the teletype interface to terminalsprovided by conventional time-sharing operating sys-
tems. Most programming languages (for example C andPascal) have as a funct ion to read a line of text. When this
funct ion is executed, the user is typically allowed to edit
the typed l ine before using carriage-return to confirm theentry. The typescript package handles this input also. In
addit ion, it may provide more elaborate commands, and,
in the extreme, be a full-fledged editor, as in the Andrewsystem."' In a window system, the typescript package
may also provide the ability to copy text from one win-dow to another, as in SunWindows." An advanced form
of this copying is the clipboard in the Lisa and Macin-t ~ s h , ~hich provides the ability to copy arbitrary textand graphics from one window to another.
Editors
In addition to the typescript package used to handle
comman d typing, some window managers include a nentire text editor, which can be used for preparing docu-
ments and programs. This may or may not be the same
package used for handling typing to programs.
Graphics package
Some window managers provide a sophisticatedgraphics package for application programs to help them
produce output. Clearly, the window manager needs tooutput some graphics to draw the title lines, window
borders, icons, backgrounds, etc. The primitives that the
window manager provides for handling output is calledthe "imaging model" of the window manager.
Some window managers, such as Sunwindows and X,
provide a simple imaging model and expect that more
sophisticated graphics packages will be built using thewindow manager. This allows more flexibility, since mul-
tiple graphics packages can be used. Fo r example, the
CORE, GKS, and PHIGS graphics packages have all beenimplemented on top of Sunwindows. In addition, the
graphics operations may be more efficient, since the
window manager can export the primitives supportedby the hardware. The interface to the window managermay be simpler, since there are fewer primitives.
Other window managers are built on top of powerful
graphics packages. For example, the Macintosh is on top
of QuickDraw,Iq Cedar is on top of CedarGraphics,"an d NeWS," which was originally called SunDew," is
on top of a version of Postscript." Adobe Systems and
Next are creating another version of Postscript called
70 I E E E C o m p u t e r G r a p h i c s & A p p l i c a t i o n s
Authorized licensed use limited to: Carnegie Mellon Libraries. Downloaded on August 10, 2009 at 22:52 from IEEE Xplore. Restrictions apply.
8/6/2019 A Taxonomy of Window Manager User Interfaces
http://slidepdf.com/reader/full/a-taxonomy-of-window-manager-user-interfaces 7/20
Display Postscript to serve as the imaging nicxlt:l for
future witidow managers. The advantage of using anunderlying grap hics package is that the window man-
ager can provide a more attractive presentation. For
example, the Macintosh window manager displays d r o p
shadows and roil n d ed c o r n ers, 0 he r ad rant ages
include a more consistent interface to and betweenapplications an d t)et e r d ev (:ei11dcp end ence.
User interface tool kits
Another service often pr oi de d bl , windo\v managers
is a library of procedures to help applications create their
user interfaces. For example, almost every window marl-ager provides a men u package. Whitechapel" also pro-
vides scroll bars that can be displayed o n the tvindows.The Macintosh comes with a complete "Toolbox,""'
including menus, dialogue boxes. scroll bars, and text-
editing. A full tool kit for X is also under development.24
The advantage of a tool kit is that it significantly reduces
the effort required to create higher quality user inter-
faces, and it helps ensur e consistency am ong the user
interfaces of different application programs on the same
machine. In addition, some window managers also pro-vide a tool to help organ ize and use the conte nts of thc
tool kit. Examples of this are the Apple MacAppprogram'" and Apollo's Open Dialog."" These tools are
often calleti user interface rnuno,oernt:nt sj,stems" anti
are necessary because programrners often finti that tool
kits are largc: and difficult to use.
Window managers surveyed
M n io ni iig every window manager is in i poss ib 1e ,
since new ones appear a11 the time. and many are not
documented in generally available publications. The
selection here is not meant to be an indication of which
window manager s are best. The ones included a re the
ones that exemplify important variations. I n addition,window managers are continually changing, so the
descriptions for some window managers may no longer
be accurate. The primary objective oft hi s article is to
illustrate the choices available in wind ow manager user
interfaces rather than to descrihe fully any particular
VJ ridow man age r.
Some Lvindow managers allow their user interfaces to
be ch anged. For example, X allows significant changes .
For this class of wind ow manager, the article describes
on e of the available user interfaces, and some of thevariability is mention ed where appropriate. For X. he
"unrm" window manager." for the IHM-RT computer is
described and will be called " X I u w m . "
Although this article discusses advantages and disad-vantages of various user interface choices, this is notmeant as a criticism of any window manager. As with
all user interface decisions, there are often external con-
siderations that influence the choice. The descriptions
are meant to illustrate concepts rather than evaluate win-
do\v managers.The Table s h o l v s all the \v indo \v nianagcrs mentioned
i n this articlc. The entri es ar c approsirnatel~~n chrono-
1og ca1 Urtic r.
User interface of application programs
One interc:stitig consideration is the extent to ivhich
the \vindo\v manager's user interface affects the user
interface of application programs that run under i t . Even
avindwv mariagcrs that try to minimize their uscr inter-
face will at least need to allu\v the user to change the lis-
tener arid th e positions of \viIido\vs. and even this userinterface \vi11 affe ct ho\v an application program can
interact nit11 the user. Some tvindo\v managers attempt
to minimize their restrictions of the application's user
i i er fa~ t :o they ca i a 1o\v a pp ica io11s in axi ni 1 m flex-
it )il y.
Other tvindoiv managcrs atteiiipt to specify the user
interface of applications to a large extent to ensur e con-
sist enq .. In any case. the choice of the user interface of
the windo\v manager m u s t affect the user interfaces of
the application programs . E\wi such \vindo\v managers
as X , whose owti user interface can be cha nged. are notfree of this problem. Different applications that run atthe same time can not all imp ose their choices on the
same \vindo\v iiianager, since the \vindo\v manager user
interface is global to all applications. Figure 4 holvs a
few saniplc Lvindow managers and hoiv much they
i t i l U e i ce the I I seI' in erfaces of a ppl ica ion s.
Presentation
N ow the taxonomy of the user interface part of win-dow managers \vi11 be presented. This section discusses
the presentation aspects of this taxonomy, and a later sec-
tion discusses the operations. Figure 5 shows the tax-
onomy of the presentation aspects of \vindo\v managers.The follow i i g sect i 3 tis e x p1ain t 11e va r o u s options
shown i n thi s figurt:.
Tiled versus overlapped
The first major decision is \\,hether \$indotvs are
alloLved to overlap or not . Some windo\v systems (includ-
ing Cedar and the original versions of Microsoft
Witido~vs2' ] equire that witidoivs be side by si de and
not overlap. A s discussed earlier. this is called "tiling."
The alternative is to allow windolvs to overlap. and t his
is provided b! Smalltalk, ' X/uwm, atid man)'others.
Implementation anti hurna~iactors issues gu ide the
choice bet\veen tiling and overlapping. In tiling systems,the c;omputer is typically in charge of managing the win-
dow placement and size, limiting the user's freedom. In
covered window managers, the user must usually man-
age the windows. Putting the mouse in a n arbitrary win-
doLv is also easier with tiling, since all of the windows
S e p t e m b e r 1988 71
Authorized licensed use limited to: Carnegie Mellon Libraries. Downloaded on August 10, 2009 at 22:52 from IEEE Xplore. Restrictions apply.
8/6/2019 A Taxonomy of Window Manager User Interfaces
http://slidepdf.com/reader/full/a-taxonomy-of-window-manager-user-interfaces 8/20
Figure 4. The amoun t that the user interface of some
sample window managers affects the user interface
of application programs.
1 column Emacs
2cohums Cedarr f i x e d columnsI...
Figure 5.Taxonomy of the presentation aspects of the user interface of wind ow managers. Solid lines are
choices (exactly one of the options is chosen). A window manag er can include any or all of the o ptions at the
end s of the diagonal gray lines. Example systems are sho wn in a n outline font. There will typically be many
other systems that also share the same features. The options shown are discussed in the article.
7 2 I E E E C o m p u t e r G r a p h ic s & A p p l i c a t i o n s
Authorized licensed use limited to: Carnegie Mellon Libraries. Downloaded on August 10, 2009 at 22:52 from IEEE Xplore. Restrictions apply.
8/6/2019 A Taxonomy of Window Manager User Interfaces
http://slidepdf.com/reader/full/a-taxonomy-of-window-manager-user-interfaces 9/20
are always visible. Often, the “b est” style is a matter of
personal taste, but one study discovered that, while users
claimed to prefer covered window managers, they spent
less time doing window management operations with
tiled window managers.” The overall timing results for
task completion were somewhat inconclusive, however.
The computer’s screen size will also affect whether til-
ing or covered is preferred. With small screens, suc h a s
on the standard Macintosh, there is not enough room touse the tiling style. For the window-manager imple-
menter, graphical output primitives are more difficult to
provide with covered systems, since the output must be
clipped to differently shaped regions. On the other ha nd,
with tiled systems, the implementer must provide some
sort of automatic screen layout facilities. Some window
managers, such as Viewpoint3‘ (which is the successor
to Star), allow the user the choice of covered or tiled win-
dows. Another possibility is for a window manager tha t
uses covered windows to provide automatic layout. This
is harde r t han w ith tiled windows, however, because it
is less clear where window s should be placed.
When windows are tiled, the next decision is whether
the windows must be arranged in fixed columns orwhether the windows ca n be in arbitrary places on the
screen (see Figure 6) .A good discussion of the various
options for tiled window systems can be found in
Cohen’s article.33Originally, the Andrew window man-
ager used a constraint system to allow windows to be
nonoverlapping and anywhere o n the screen. The sys-
tem would adjust the sizes of windows based on the con-
straints whenever a new window was created or an old
window destroyed. Unfortunately, users did not like this
for a number of reasons: It took too long for the windows
to finish adjusting themselves after a change, windows
all over the scree n would chang e size when a new win-
dow was added or removed, and th e screen layout result-
ing from one window changing was unpredictable.Therefore, Andrew now supports a much simpler
approach instead, with a user-defined number of
columns.‘’
The RTL/CRTL window ma nager from Sieme ns also
uses constraints. ” The current version runs on top of
X11, an d it reportedly does not have the problems dis-
cussed above for Andrew.
I f there are fixed column s, then there can be either a
specified number or an arbitrary number. Probably the
first use of the window concept was in such full-screentext editors as Emacs,j4 which allowed multiple files to
be edited at the same time by dividing the terminalscreen into horizontal sections. This idea has been
extended in window managers that allow multiplecolumns. Fo r example, Cedar provides for exactly two
columns on a black-and-white display (see Figure 2)
along with one additional column on the optional color
display.I f windows are allowed to overlap, then there are a
number of secondary options. First is whether to allow
A
D
B C
E
F
I
H
G
Figure 6. Tiled windows can be in arbitrary places
(left) or in fixed columns (right).
windows to extend partially off screen (so that only part
of the window is visible on the screen]. Most covered
window managers support this. Another option is
whether to allow windows to be updated while they are
covered. I t is clearly more difficult to clip the output
operations correctly so that covered windows can be
updated, so such older window managers as Smalltalk
and In t e r 1 i ~p- D~~equire that windows come to th e top
before being writt en to. Most modern window managers,
however, allow output to windows while they are
covered. If output ca n occur in portions that are covered,
the next question is whether the listener window is
allowed to be covered. There is no additional implemen-
tation difficulty in allowing this, but some window
managers, such as the Macintosh, always bring the lis-
tener window to the top, to help users keep track of
where they are typing. Other window mana gers, such as
Sapphire and X/uwm, allow the listener to be covered
so that users can have maximum flexibility in arranging
their working environment.
Title lin es an d borders
All window managers provide some “decoration” for
the windows. This usually inc ludes special “title lines”
at the top a nd special borders around the entire window.
The title line typically shows such global information as
the current directory, the na me of a file being edited, o r
the name of the program being run (see Figures 1an d 2).
Th e Blit36window manager is one of the few window
managers that d oes not use title lines. In addition, thetitle lines and borders may contain other decorations and
command buttons.
Showing the listener
An important pre sentation issue is how the listener isshown. Since there are multiple windows an d only one
listener, it is important that the user know which win-
dow is the listener. One method for specifying the lis-
tener is simply to move the mouse into a window. In this
September 1988 7 3
Authorized licensed use limited to: Carnegie Mellon Libraries. Downloaded on August 10, 2009 at 22:52 from IEEE Xplore. Restrictions apply.
8/6/2019 A Taxonomy of Window Manager User Interfaces
http://slidepdf.com/reader/full/a-taxonomy-of-window-manager-user-interfaces 10/20
Figure 7.The listener on the Macintosh 3 is shown by drawing lines i n the title line and d isplaying the com-mand areas. The scroll bars and arrows on the right an d bottom of the window move the display inside the
window, the icon at the bottom right of the window is used to change the window’s size, the icon at the topright is used to make the wind ow fu ll screen, an d pressing in the squ are at the top left closes the window.
Figure 8 . SapphireI3 displays the listener window bymaking i ts border thicker. The window marked WZ is
the listener. The icons are in the window at the bot-
tom, and they can display status information abo ut
the window and the process running in it .
case the bvindow containing the mouse tracking symbolis clearly the listener. The window manager might use
some combination of other ways to show the listener,
including changing the title line decorations(Whitechapell ’1, changing the border decorations
(Sapphire”), changing the title and border (X/u~.’m’’],changing the shape of the text input cursor or startingit blinking (Interlisp-D), emoving the co mmand areas
(Macintosh),or even filling the window with a particu-
lar pattern when it is riot the listener (dots are used in
the H l i t ) . Figure 7 hows a combination of changing the
title line and comman d areas, and Figure 8 shows an
example of using the border only.
I E E E Computer G r a p h i c s & A p p l i c a t i o n s
Authorized licensed use limited to: Carnegie Mellon Libraries. Downloaded on August 10, 2009 at 22:52 from IEEE Xplore. Restrictions apply.
8/6/2019 A Taxonomy of Window Manager User Interfaces
http://slidepdf.com/reader/full/a-taxonomy-of-window-manager-user-interfaces 11/20
Icons
A major issue of presentation in modern systems is
whether the window manager supports icons o r not.These were invented by David Smith.” and first used in
a window manager in the Xerox Tajo environment“
(which was later renamed XDE”’]). In Tajo the iconswere originally just the title lines of the windows. A simi-
lar approach is used by the Andrew system, which leaves
the title line where it was in the column, and simplyhides the window contents.
Pictorial icons were first used in the Xerox Star,’,’
where they give the user the illusion of operating in a
physical environment. Each icon represents a n object inan office env ironment [documents, folders, file cabinets,
printers, etc.),so the user can learn how to operate these
objects by analogy to the way operations ar e performedin the physical world. Fo r example, to delete a file, the
user moves the icon for the file to the icon that looks like
a trash can ( see Figure 3 ) . Icons in the Star, as well as inthe Apple Macintosh, therefore represent data objects
and processes.
Most other window systems use icons in a different
way. They represent windows. In these systems, the iconis simply another representation for a window, withoutthe additional semantics of being data objects that can
be operated on.Most systems provide icons as an alternative represen-
tation for windows, so that a window is either full size
or “s hrun k” to an icon. Some of these systems, such asthe Macintosh and Star, leave a “sha dow” of the icon to
show where it came from, whereas other systems (Sun-Windows and X/uwm) do not.
The Sapphire window manager uses icons in an
entirely different way: The icon for a window is always
fully visible, even if the window is on the screen. Theicons in Sapphire ar e used to give commands to the win-
dows and to show eight pieces of status informationabout the window and th e process running in the win-dow.13 This includes percent-done progress indicators“’
to show how the job is doing and pictures to show whenan error has occurred or when t he process in the win-dow is waiting fo r input (see Figure 8) .
The Sapphire icons are an example of how the icons
can dynamically change. Another example is the X/uwm
window manager, wher e an icon can be a tiny version
of the actual window, as shown in Figure 3 .
In most other window managers, however, the icons
are essentially static. Often, there are situations where
the icon changes a little, however. For example, in theMocintosh, most icons are static, except that the trash
can icon bulges wh en something is put into it . Similarly,on the Star, the mail icon changes to show when mail has
arrived.
Other issues with icons are whether the user can movethem around, whether their shape and size are fixed, and
whether the user can give commands to the windowusing th e icons. In the extreme, if icons a re just an alter-
native representation for windows, the user should be
able to type to the icon and have the text go to the appli-
cation run ning in the window. This is allowed in somewindow managers, such as Sapphire, but others limit the
comma nds available wh en th e window is shown as anicon.
Window shape
A minor point is what window shapes are supported.Usually, only rectangular windows are provided, but theNeWS window manager does support arbitrarily shaped
windows [see Figure 9). Most of the windows in the
Macintosh are rectangular (Figure 7) , but they a r e
allowed to be arbitrary shapes . Obviously, a tiling win-
dow manager must use shapes that can be tiled, such as
rectangles or hexagons (all existing ones use rectangles].Many window managers simulate arbitrary shapes for
icons, even i f the windows must be rectangular,
Special areas
Another presentation aspect of windowmanager user
interfaces is whether any screen areas are reserved for
special functions. For example, DLisp4”has a reserved
area at the top and Interlisp-D has a reserved window for
e r r o r messages and user pr ompts. Other examples arethe Macintosh, which reserves the top line for a com-
mand menu , and PNX,‘“ which has a special window-manager window for giving some window-manager
commands. Other window managers have special areas
for icons, which may be in the background , or in a spe-
cial window (as in Sapph ire). Icons may be in arbitrary
places, as in X/uwm, o n a regular grid, a s in the Star, or
in arbitrary places with a user-callable “neatening” onto
a grid as in the Macintosh. Another issue is whether the
icons can be covered by other windows [usually true i f
there a re overlapped windows, false if tiled windows).
Other issues
There are a number of other issues of presentation,such as whether color is supported, whether the user canmanipulate t he presentation (for example, changing the
background pattern in the Macintosh), and to what
extent application programs can change the presentation
(for example, changing the title line’s appearance].
Operations
The second major component of the user interface of
window managers is the set of operations that the user
can execute to control the windows. This component canbe further subdivided into the functionality of the oper-
ations provided, and the user interface of those opera-
tions. Taxonomies for these aspects are shown in Figures
10 an d 11,respectively.
Functionality
The first issue, of course, is which operations are sup-
ported. All window managers must supply some way for
September 1988 75
Authorized licensed use limited to: Carnegie Mellon Libraries. Downloaded on August 10, 2009 at 22:52 from IEEE Xplore. Restrictions apply.
8/6/2019 A Taxonomy of Window Manager User Interfaces
http://slidepdf.com/reader/full/a-taxonomy-of-window-manager-user-interfaces 12/20
Bosbx Gem
January Pie Sales
the user to change the listener. There usually are also
commands to create new windoiz-s and delete old xvin-dows. A system ivith covered windows will also need a
command to make the window become uncovered (top),
and there is usually a comman d to make a window be
covered by all other windows (bottom).The bottom com-mand is often used to remove windows that are hiding
a fully covered window.
Most window managers allow the user to move \\Tin-
dows and change their size, but these operations may berestricted in a tiled window manager. For example, in
Cedar, you c an only move a window to the o the r column
or change its size in the current column, and the width
of all windows in a col umn must be adjusted together.Other tiled systems allow a window to be placed in the
“seam” between any two other windows. With a coveredwindow system, an issue is whether the windows can
change size or move while they are partially covered (true
in Sapphire, false in X/uwm). On the Macintosh it is pos-
sible to move a covered window by holding down the
command key lvhile pressing in th e window’s title line.
Another issuc is whether a window can be modifiedonly f rom a particular corner [as in the g r o w operation
for the hlacintosh, which works only from the lower
right corner), from a set of control points (Sapphire
allows windows to be moved an d change d in size from
points on each side and corner),or from anywhere in the
window ( as in X/uwm).
Fo r window managers that have icons, there are oftenoperations to shrink the window down to the icon and
to expand from the icon to normal size. There might also
be operations to move the icon itself (no system I a m
aware of allows the user to change the icon’s size).
Another operation that is often provided is the ability to
make a window full screen o r full size. The old size and
position are remembered so a single operation can make
the window go back. This comma nd is available in Sap-phire and for some windows on the Macintosh.
76 I E E E C o m p u t e r G r a p h i c s R- A p p l i c a t i o n s
Authorized licensed use limited to: Carnegie Mellon Libraries. Downloaded on August 10, 2009 at 22:52 from IEEE Xplore. Restrictions apply.
8/6/2019 A Taxonomy of Window Manager User Interfaces
http://slidepdf.com/reader/full/a-taxonomy-of-window-manager-user-interfaces 13/20
Figure 10. Taxonomy for the functionality of window manager operations.
Some window managers provide additional opera-tions. For example, most window managers allow a
change from black text on white to white on black;
X/uwm allows the most covered window to be circulatedto the top; and Sapphire and X/uwm have command s to
refresh the contents of windows.
For systems where the window manager itself is
optional, such as Sunwindows and X/uwm, there is
often a c ommand to quit the entire window manager.Some window managers allow applications to insert
their own commands into the normal window managercommand mechanism (for example, into the Interlisp-D
menus). There may also be an Undo command to reversethe previous window manager comma nd.
Another important question is whether the user c an
abort a command after it has started. For example, in t he
Macintosh, if you begin to move a window and change
your mind, you can move the cursor into the comm andarea and the move operation will be aborted. On the
other hand, there is no way to stop the grow operation
on the Macintosh. In Sapphire, any operation can beaborted by hitting the Delete key on the keyboard.
Another issue is whether application programs canaffect the functional ity of the commands. Fo r example,
a program implementing a terminal emulator might
want to restric t its window to be exactly 24 by 80 charac-
ters big and therefore disable the window-size-change
command. In a different situation a n application may bedesigned for novices and therefore want to disable any
"dangerous" window manager commands. Another
example is how dialogue boxes refuse to allow the user
to change the listener on the Macintosh.A related question is whether applications can execute
the commands. For example, can applications move
existing windows o r change their size? Can an applica-tion change the listener? The latter functionality is use-
ful to provide alarms for special asynchronous
situations. For example, the PrintMonitor on the Macin-
Se p te m b e r 1988 7 7
Authorized licensed use limited to: Carnegie Mellon Libraries. Downloaded on August 10, 2009 at 22:52 from IEEE Xplore. Restrictions apply.
8/6/2019 A Taxonomy of Window Manager User Interfaces
http://slidepdf.com/reader/full/a-taxonomy-of-window-manager-user-interfaces 14/20
' "I, f"Ir specialpefixkey Sapph ire\\,, commands rom keyboard l@r'''"
'(\;t"" special keysSunWindow8
" eyboard change listener Sapphire
P ssign buuons tocommands
- - m m l e interface?
always the samer e m toprevious Macintoshcustomizableusing profile files X
+Inspecifynitial d l g u r a t i
Figure 11.Taxonomy for the user interface of window manager operations.
tosh pops up a window and makes it the listener whe nthere is a problem with the printer.
The advantage of a large number of com mand s is thatthe user can perform operations in a variety of ways. The
disadvantage, however, is that it may be more difficult for
the user to know which com mand to use, and therefore
make the window manager more difficult for novices. In
addition, if a comma nd has lots of variants and op tions,
it may take longer to invoke any single com man d, since
the various options must be specified. A s an example,
allowing a wind ow to be grown from any side or corn er
usually involves three ste ps: first giving the grow com-
mand , second specifying the place to grow from, andfinally specifying th e new size. When there is less flexi-
bility, as in the Macintosh, the second s tep is eliminated.
Future window managers will probably need to pro-vide additional functionality in their user interfaces to
help the user control the windows. Whereas icons andautomatic layout for windows are good first steps, users
still find that they f requently lose windows and have dif-
ficulty reconstructing their working environment. This
is especially important since studies have shown that
people do not work on a particular task for more tha n 15
minutes on average before they switch to a different task,
presumably in a different window.42 Some research
window managers provide groupings of windows, so
that the user can set up a related group of tasks runnin gin windows in a particular layout, and go directly from
one group to another. Cedar contai ns a fixed overview
of 16 screens, each of which ha s a set of windows, and
78 I E E E C o m p u t e r Gra p h i c s & Ap p l i c a t i o n s
Authorized licensed use limited to: Carnegie Mellon Libraries. Downloaded on August 10, 2009 at 22:52 from IEEE Xplore. Restrictions apply.
8/6/2019 A Taxonomy of Window Manager User Interfaces
http://slidepdf.com/reader/full/a-taxonomy-of-window-manager-user-interfaces 15/20
the Kooms system" ' -I provides arliitrary groupings of
\v ind o ~ v s .
User interface of operations
'I'he next important issue xvith operations is h o ~ vhey
ca n be specified by the user. h l a n y Ivindoiv managers
provide multiple ways of giving the same command. Forexample, there may be menus that contain all commands
for novices. as well as cicc~:lerntors-faster ways lo r expertusers to give the most frequent commands using the
niou se ii n i keyhoar d ,C ear y, the co11side ra io11s about
Lvliat user interface to use for the window manager mus ttie influenced by general user interface principlcs , which
are more fully described in ot her places. for ex;imple by~ o l e ynd van Darn.''
Number of mouse buttons
One of t h (: most ohv iou s di lere n (:t! s 1)e \\re er1w 11do ~ v
managers is how many buttons on I he mouse they are
designed to use. T h e Macintosh mouse has onl j , one but-
ton because it is intended to be \'cry easy to use for
novices. With more buttons, thr: novice might forgetLvhich hutton performs Lvhich operation and bc nervous
about pressing the m. The designers of the Sta r system
did extensive testing and decided two buttons \\'ere eas-
iest to learn and most efficient.4"h.Iany other window
ina11agers are tle sig11ed fo r th rce but tons [SU nlVin o ~ v s
a n d Sa pphi re, for example). S o me \v i ntioiv Inanagerssimulate a middle button o n a t\vo-liutton Inoust: tiy hold-
ing down both butt ons at the s ame time. Naturally, thec:Listomizable window rnanagers , such as X a n d NeWS,
(:an support any numb er of huttons on the mouse.
Changing the listener
Of partic:ular interest is how the ise er c1iangt:s t he lis-
t e 1er. Some sy st e ns, in c ud ig SunWi n dOM's arid
Smalltalk, change the lis tener to lvhatever \viIiCIo\vcoil-
tains the cursor. Other window Inanagers-iiicludingI 11e r1 sp-D, Star, Sapphire, H 1 t , C eda r, and h4 in osh-
require an explicit press to change t h e listener. Some
\vindow managers, such as X nd Nc:i*Z'S,allou the user
to pick which technique is used.
I f an explicit press is required, then an issue is whether
this press should be sent through to he iiscd liy the appli-
cation program. I f so, as in Cediir. changing thr: listener
must always do something to the application (s uch as
changing the insert point in an editor). f the button press
is not sent through, as in Interlisp-D. then the user mightbe confused that the operation did riot happen. Somesystems, such as Sa pphire, let the application decide
whet her to interpret the first press, but this means that
a p plica t o11s may operate i11consist en 1y.The advantages of changing the listener o n cursor
movement a re that this operation is easier and faster, themouse cursor provides a nice form of feedback for which
\zinclow is the listener. and the problem of whether to
send the press through to applications is avoided. The
advantages of using a press to change listeners are that
the listener tloes riot change accidentally i f the mouse is
bumped, input devices like a stylus that do not retaintheir position can easily tie used, the position of t h c
mouse can still be used even when it is outside of th e lis-tener wintloM: the mouse c an be moved outs ide the iv i i i -
dow so 110part of the bvindow is hidden under the cursor,
and i f the i nput device is a tablet, it can be used in either
absolute (digitizing) or relative (mouselike] tracking
modes. 'Another issue is \\ ,hether the XvindoLv manager alloivs
there to be no listener. In X/uwm, for example, lvhen the
curs or is outs ide of all windows ( that is, over the back-
ground), keyboard typing just disappe ars. In Sapphir e,
keys typed \\Then there is n o listener are saved an d givento the next window that becomes the listener. On the
othe r han d. the Macintosh \vi11 not alloxv no lis tener; f
you press over the background, nothing hap pens , and i f
the listener Lvindoxv is deleted, then the next topmost
\vindoIv is made the listener. This tends to be much moreintuitive and keyboard typing is never lost.
A question for future window managers will be ho\v
to Iia n d e addition a i11put devices. (-1 u r re n ly, \v i i i d ow
managers typically support only the keyboard and on e
poi 11 i ng device. Research has demon stra te d, h oweve r,
that using multiple inp ut devices, suc.h as touch tablets,
knobs , and switches, along Lvith the pointing device (for
example, o n e in each hand) can increase the user 's effec-tiveness. '' In addition, speech recognition is slon.ly
becorning practical. All of these input techniques will
have to be switched among windows as the keyboard is
iio~z,nd the issue will he whether to switch all devices
a t the same time. to have different techniques for switch-
ing each device separately, o r to allow certain devices to
he grabbed perrnanently by a particular Lvindolv.
Other commands from a mouse
There are various ways that window managers allow
commands to be given using the mouse. Som e systems,such as Andrew, reserve a special mouse bu tton to give
Ivindow manager commands. Other systems, such as
X / u w m . rescrve a special shift key on t he keyboard. Forexample, to give a wi~idowmanager command on the
IHh4 RT computer, you need to hold d own the "Alt" key-
board key Lvhile pressing the mouse buttons. Still other
systems. such as Symbolics4' and Macintosh, use mul-tiple clicking.
Pressing the mouse buttons while the cursor is in
different areas typically has different meanings. Mostwindow managers, for example, provide special com-
mands w hen the mouse is pressed in the title lines of
lvindows. Some window managers also allow the user
to press in the borders of windows, which might be usedfor changing a window's size or position. The Macintosh
window manager, among others, has special "buttons"
in the window title line and border which are used for
closing a window or changing its size (see Figure 7). On
the other han d, some window managers allow the corn-
iiiands to be given i f the cursor is anywhere insi de the
Authorized licensed use limited to: Carnegie Mellon Libraries Downloaded on August 10 2009 at 22:52 from IEEE Xplore Restrictions apply
8/6/2019 A Taxonomy of Window Manager User Interfaces
http://slidepdf.com/reader/full/a-taxonomy-of-window-manager-user-interfaces 16/20
Figure 12 . Various cursor pictures used in Sapphire13
to show which operation is in progress.
window. Sapphire and the Macintosh, for example,cause a window to become the listener when the cursor
is pressed any where inside it .
The special areas for giving comma nds are sometimes
not visible in the window. Fo r example, Tajo and Sap-
phire divide the title line into three regions horizontally
and assign different functions to each region. The divi-sions are not shown, but the user is assumed to be able
to differentiate the middle from the left and right of the
title line for any window that has a reasonable size. Other
window managers only use visible areas . The trade-off
is obviously using screen area for command labels so
they will be easier to find an d more obvious for novices,
versus using the screen space to display other useful
information. Cedar has a unique solution to this prob-lem: Some of the co mmand bu ttons are hidden under-
neath t he title line, and the title line is replaced with the
comma nd me nu whenever the cursor goes into the title
line.
Another issue when giving commands with the mouse
is what kind of feedback the user sees. Most systems pro-
vide hairlines th e size of the window when a window is
moved. The P N X window manager actually has the
entire window follow the mouse in real time, and origi-
nally Smalltalk showed only one corner.
Often, there will be feedback in the cursor picture as
to the operation being performed. For example, X/uwmshows a picture of the button that is down. Sapphire uses
the cursor picture to show which operation may happen.When the button is pressed in a particular area, the cur-
so r changes to show what will happen (see Figure 12) .
I f the button is released, the operation happens, but if the
cursor is moved away before releasing, the operation isaborted. Different cursor pictures a re also often used to
show what mod e the user interface is in.
Menus
Commands in window managers are usually given
using menus. A m enu is a list of options, and in a win-dow manager, the desired option is usually picked by
pointing a t it with the mouse. Me nus were classified as
an add-on earlier, since they are usually supplied to
application programs a s a service. On the other han d,
most window managers also use men us as part of their
own user interface, so it is necessary to discuss themhere. This discussion is not mean t to be comprehensive,
however, since there a re many different ways to present
menus a nd the options listed here are only those that
have been commonly used with window managers.
Menus can be always visible (usually at a fixed placeon the screen or a fixed place in each window), n whichcase they are called fixed menus. Alternatively they can
appea r when the user performs s ome action, and the11are called pop-up m enu s (see Figure 13). Pop-up menus
are often used because they do not take up screen areawhen not in use, and they appear at the cursor so less
hand movement is needed. On the other han d, they have
the disadvantages that novices may not know hot%’o
make them appear, and they usually take longer to usesince the user must first perform the action to make them
appear, then search through th e menu for the correctitem, and then make the selection.
Fixed menus also allow the user to mouse-ahead.
Mouse-ahead is giving commands with the mouse
before the system is ready to accept them. Th is is analo-gous to typeah ead from the keyboard. Pop-up menus are
hard to use with mouse-ahead because the menu is not
displayed, so the user cannot see where the desired item
is. Fixed menus are used by the Macintosh on the top line
of the screen (see Figure 14b), n DLisp in windows thatcan appear anywhere on the screen (see Figure 13b),and
in Cedar as the menus in the title lines (see Figure 2 ).
Fixed menus in a special place on th e screen, as in the
Macintosh, are probably appropriate only when the
screen is small, so that the maximum hand movementto move the cursor to them is not too large.
Many Luindow managers use pop-up menus to give
window-manager commands. Fo r example, in X/uwni
when the Alt key and the left mouse button are held
down, a menu pops up which contains the standard
window-manager commands. The middle button with
the Alt key pops up a different set of commands. Sap-
phire provides a menu of commands when the right
mouse button is pressed over the left or right title lineareas. A distinction among pop-up me nus is whether
they ap pear on a down press and the selection is madeon the release (X/uwm),or whether a second down pressis needed to make the selection (Symbolics and Sap-
phire). Some menu systems support both styles(RTL/C RT L ’ ) .
Another issue with menus is whether submen us are
supported. A submenu is a menu that appears after a
80 I E E E Computer G r a p h i c s & Appl ica t ions
Authorized licensed use limited to: Carnegie Mellon Libraries. Downloaded on August 10, 2009 at 22:52 from IEEE Xplore. Restrictions apply.
8/6/2019 A Taxonomy of Window Manager User Interfaces
http://slidepdf.com/reader/full/a-taxonomy-of-window-manager-user-interfaces 17/20
a
Figure 13. A pop-up menu (a) from smal ltalk, and
fixed menus (b ) in DLisp.
particular item in a menu is selected. This will typically
provide more options or parameters to that particular
operation .
There are various ways to provide submenus. The most
obvious way is simply for them to pop u p after the mai n
selection has been made. Interlisp-U and Su nwin dows
have the submenus app ear when the cursor is slid off a
menu item to the right (see Figure 14a).Macintosh uses
a similar idea, called pull-down menus, but here the mainmenu is horizontal and the submenus appear when the
cursor is over any top-level item (see Figure 14b).Andrew
has the menus stacked like pages of a book (see Figure
14c), so the user can flip through them quickly. Many
other op tions are possible.
A final feature of me nus in window managers is thehandling of items that are currently illegal. For example,
a particular application may prevent its window's size
from being changed. The illegal item might be left o u t of
the menu altogether, it might be included but shown in
gray, as in X/uwm and the Macintosh (see Figure 14b),
or it might be shown normally and just fail to operate,
as in Sapphire.The advantage of showing the option in gray is that the
illegal items are obvious, but the other items in the menu
always appea r in the s ame places so the user gets famil-
iar with where items are placed. The advantage of show-
ing only the legal options is that more items can beincluded if they all appear in independent sets.
Commands from the keyboard
Some window managers allow operations to be
executed using the keyboard. This might be done by
using a reserved shift key (for example, the command key
Se p ernb er 1'38 8
b
on the Macintosh]; by using reserved keys for special
func tions (s ome function keys in Apollo," fo r example,
and Sunwindows); o r by reserving a prefix key which
must be typed before window manager commands, a s
in Sapphire.The keyboard commands are usually considered
accelerators which experts will use when pop-up menus
are too slow. Sometimes the keyboard comm ands a re
provided for people wh o do not like or cannot use the
mouse. EasyAccess on th e Macintosh , for example. was
designed to allow handicapped people to replace all
mouse commands with keyboard actions. The Apollo
window manager is one of the few that was designed
with the keyboard as its primary input device; the earlyApollos did not have mice.49
Other issues with keyboard commands are whether
type-ahead is supported, whether the keyboard can
change the listener (false in the Macintosh, true in Sap-
phire and Sunwindows) , and whether the keyboard canmake selections in the menus.
Other user interface issues
Some commands require arguments. For example, the
user must specify a new size for a window when the
change-size or create-window command is given. Some
81
Authorized licensed use limited to: Carnegie Mellon Libraries. Downloaded on August 10, 2009 at 22:52 f rom IEEE Xplore. Restrictions apply.
8/6/2019 A Taxonomy of Window Manager User Interfaces
http://slidepdf.com/reader/full/a-taxonomy-of-window-manager-user-interfaces 18/20
s c r p t #-
I
HEW hlAl
J Lyd la . I k f l l lp p
Oral T L ~ s - V I J J ~.rua.1+ ~ u r g ilverman
Ya Buul
O J i m Morns ros en t b a l
~ B A I T Y ilverman
J h c h r t d W all at ei n
J b l i c h a e l T LoBue
QJSUtdrA BondLevel 1 and 2 i tems
RDS Deal
Twa mnouncemenu
Kim C Recommendauon
I st*
I l l 1 I
The d o m u n of logic mg nmm ing Ian uager. consists. of the most pan. ofproyrunmin languages g u e d on Horn fogic which provide modified forms oftop-lo am. ILD-refutation ezerution engines A program in bere Ianguagcsc o n s i s t s o f a set o f d e f i n i t e C I A U S C a x i o m s w i t h ( p e r h a p s i m p l i c i t ) c o n t r o linformation for guiding th e u n d e r l p n g e n g i n e E ~ e c u t i o n S initiated by th e
rrescntation of a conjunction of goals or quenes and terminates when the engine.ollounnp th e rcscnbed control. dtscovers either a proof of th e goals. or t h e
impOSSiblh~9O f such a proof C o n c u m n t logic progrunmmg (CLP) languagesprovide czecution engines capable of pursuing c on cum ntl g proofs of each of thegoals i n A con~unc t ivc SYsrem (so-called a n d - p a d l e l i s m ) And also different possible
roof paths fo r each goal (or paralleliim) Eu mp les of ensting concurrent Hornranguages are Concurrent Prolg. Pulog. ClHC. Delu.Pmlog and CP( l .1 .a~
I n this thesis I mpose to la9 a sound tbeoretical foundation for. and exploreth e par adi gm of. !LP langua *s Specifically. I propose U) investigate th e design.s em ant ic s . implemenration an d -use of such languages
T h e thesis i s intended U make contributions w each of th e following u e u
.. pro grm ~m ins anquape design. via.. an underscanding of th e design s p x e fo r
.. th e design o f A paradigmatic CLP language (CP[I (.a..)rovidingConcurrent programming Iinguag9’s bue d on annotated Horn loqic.
C
Figure 14. ubme nus may appear when the user slides the cursor out of the right of the item marked with ana rrow (a) a s in In t e r l i ~ p- D, ~~hen the cursor is over an item (b) as in the Ma ci n to ~h ,~r they may be stacked
like pages (c) as in Andrew.16 The En large com man d i n (b) is show n i n gray becaus e it i s currentl y illegal.
Authorized licensed use limited to: Carnegie Mellon Libraries. Downloaded on August 10, 2009 at 22:52 from IEEE Xplore. Restrictions apply.
8/6/2019 A Taxonomy of Window Manager User Interfaces
http://slidepdf.com/reader/full/a-taxonomy-of-window-manager-user-interfaces 19/20
8/6/2019 A Taxonomy of Window Manager User Interfaces
http://slidepdf.com/reader/full/a-taxonomy-of-window-manager-user-interfaces 20/20
1 6 . J . H . M o r r i s e t al. . " A n d r ew : A D i s t ri b u t ed P e r s o n a l C o m p u t i n g
E n v i r o n m e n t , " C A C M , V o l. 29 , N o. 2 , Mar . 1986 , pp . 184-201.
1 7 . S u n M i c r o s y s t e m s , I n c . S u n W i n d o w s P r o g r a m m e r s ' G u i de . M o u n -
ta in View C a l i f . , 1984.
18. G. Wil l iam s, "The Lisa Com pute r Sys tem." Byte , Vol . 8, No. 2 , Feb.
1 9 . A p p l e C o m p u t e r . I n s i d e M a c i n t o s h , A d d i so n - W e s le y , R e a d i n g .
M a s s . , 1 9 85 .
20 . J. W a r n o c k a n d D . K. W y at t , "A D e v i c e - I n d e p e n d e n t G r a p h i c s I m a g -
ing Mo de l for Use wi th Ras te r Devices" Comp ute r Graphics , (P roc .
SIGG RAP H), Vol. 16. No. 3, July 1982, pp. 313-319.
2 1 J. G o s l i n g , " S u nD e w - A D i s t r i b u t e d a n d E x t e n s i b le W i n d o w S y s -
tem," Methodo logy of Window Man agem ent , Springe r-Ver lag , Ber-
l in (P roc . Alvey Workshop, 1985J , pp . 47-57. [A s l ight ly d i f f e rent
ve r s ion of th ths pap e r wi th the sa me t i t le also a p p e a r e d i n t h e Proc.
1986 Winte r U senix Tech. Conf . , I an . 198 6, pp. 98.103.
22 . A d o b e S y s t e m s , P o st s c ri p t L a n g u a g e R e f er e n c e M a n u a l , A d d i s o n -
Wesley , Reading , Mass . . 1985.
2 3 . D. S w e e t m a n , "A M o d u l a r W i n d o w S y s t e m f o r U n i x , " M e t h o d o l -
o g y o f W i n d o w M a n a g e m e n t ( P r o c . A l v ey W o r k s h o p . 1 9 8 5 ) ,
S p r i n g e r - V e r l a g ,B e r l i n , 1 9 8 6 , p p . 73-80.
24. MIT an d DEC, X Tool k i t L ibroq-C 1 ,unguage In tor foce ; Tool k i t
Beta Version 0.1; X Protocol Version 11, B o s t o n . 1 9 8 7 .
25 . K.1 . Schmu cker , "MacAp p: A n Appl ica t ion F ram ework," Byte , Vol.
2 2 , No . 8, Au g. 19 86, pp .189-193.
2 6. A p o l l o C o m p u t e r , " O p e n D i a lo g I n t e r f a c e M a n a g e m e n t S y s t e m
S u p p o r t s I B M , D E C , a n d S u n , " P r o d u c t A n n o u n c e m e n t . C h e l m s -
f o r d , M a s s . , 1 9 8 7 .
27.M . G a n c a r z , " U w m : A User In te r face for X W i n d o w s , " Conf Proc.
S u m m e r T e c h . C o n f . , U s e n i x , D e n v e r . I a n . 1 9 8 6 . pp. 429-440.
28 . V. Pugl ia e t a l . , "Opera t ing in a New Enviro nment , " PC h l o g a z i n c ,
Feb. 1986, pp . 109-132.
29 . A. Goldbe rg , Smal lta lk-80: The In te rac t ive P rog rumm ing E n \ . i r o n -
m e n t , A d d i s on - W e s le y , R e a d i n g , M a s s . , 1 9 8 4 .
3 0 . A . G o l d b e r g a n d D . R o b s o n . S m a ll t a lk - 8 0 T h e Language clnd Its
I m p l e m e n t a t i o n , A d d i so n - W e s le y . R e a d i n g . Mass . . 1983.
31 . S .A. B ly and J .K.R o s e n b er g , "A C o m p a r i s o n o f ' l i l e d a n d O v e r l a p -
p i n g W i n d o w s , " P r o c . S I G C H I , H u m a n F a c t or s i n C o m p u t i n g s>.~-terns, A C M . N e w Y o r k, 1 9 8 6 , p p . 101-106.
32. Xerox O f f ice Sys tems D ivis ion . Vie ivPoint L'sers blan ua l , Pa lo Al to,
Ca l i f . , 1985.
33 . E .S . Coh en, E .T. Smi th . and L.A. Ive r son , "Cons t ra in t -Base d Ti led
W i n d o w s , " P r o c . 1 s t I n t ' l C o n f . o n C o m p u t e r W o r k s t a t i o n s , C SP r e s s , L o s A l a m i t o s , C a l i f . , N ov . 1 9 8 4 , pp. 2-11,
3 4. R . M . S t a l l m a n , " E m a c s : T h e E x t e n s i b l e . C u s t o m i z a b l e , S el f -
D o c u m e n t i n g D i s p l a y E d i t o r , " T e c h . R e p o r t 5 1 9. M I T Art i f ic ia l
I n t e l l i g e n c e L a b, C a m b r i d g e , M a s s . , 1 9 7 9.
3 5 . W. T e i t e lm a n a n d L . M a s i n t e r, " T h e I n t e r l i s p P r o g r a m m i n g E n v i -
r o n m e n t , " C o m p u t e r , V o l . 14 . N o . 4 , A p r . 1 9 8 1, p p . 2 5 - 3 3 .
36. R . Pi k e , " G r a p h i c s i n O v e r l a p p i n g B i t m a p L a y e rs , " A C M T r a n s .
Graph ics, Vol. 2, No., 2 , Apr. 1983, pp. 135-160.A l s o a p p e a r s i n C o m -
p u t e r G r a p h i c s ( P r o c . S I G G R A P H ) , vol. 1 7 , N o . 3 , J u l y 1 9 8 3 , p p .
3 7 . D . C. S m i t h , P y g m a l io n : A C o m p u t e r P r o g r a m to M o d e l a n d S t i m u -
l a t e C r e a t i v e T h o u g h t , B i r k h a u s e r . B a s e l , 1 9 7 7 .
38 . Xerox Of f ice Sys tem s Divis i on , Xerox Der re lopment Environm ent :
Concep t an d P r inc ip le s , Pa r t # 610E00130, Pa lo Al to , Ca l i f . , 1981.
3 9 . B . A. M y e r s , " T h e I m p o r t a n c e o f P e r c e n t - D o n e P r o g re s s I n d i c a -
t o r s f o r C o m p u t e r - H u m a n I n t e r fa c e s, " ( P r o c .S IGCH11. ACM . N ew
York, 1985 , pp . 11-17.
40 . W. Tei te lman. "A Display Or iented P rogram mer ' s A ss is tan t , " In t ' l
I. Man-Machine S tudies , Vol. 11,1979,pp. 157-187.Also Xerox PARC
Tech. Repor t CSL-77-3 , Pa lo Al to , Ca l i f . , Mar . 8, 1 9 7 7 .
4 1 . I n t 'l C o m p u t e r s L t d. , IC L P E R Q G u i d e to P N X , I n t ' l C o m p u t e r s .
L t d . , U K S o f t w a r e a n d L i t e r a t u r e S u p p l y S e c t o r , R e a d i n g , R G 3
l N R , U K , 1 9 83 .
1 9 8 3 , p p . 3 3 - 5 0 .
331-355.
42 . L . B a n n o n e t a l . . " E v a l u a t i n g a n d A n a l y s i s o f U s e r s ' A c t i v i t l
O r g a n i z a t i o n , " P r o c . SIGCHI, H u m a n F a c t o r s i n C o m p u t i n g Sys-t e m s , A C M . N ew York, 1983. pp . 54-57.
43 . S.K. a r d a n d A . H e n d e r s o n , J r .,''A ultiple \ ' ir tual-LVorkspace
I n t e r f a c e to S u p p o r t U s e r Task S w i t c h i n g , " P r o c . S I G C H I + G I .
H u m o n Fac tor s i n C o m p u t i n g S y s t e m s , G r a p h i c s Interfuce,A C h l ,
N e w York, 198 7, j-rp. 53-59,
44. D.A. H e n d e r s o n , Jr. , a n d S.K. C a r d . " R o o m s : T h e Use o f h l u l t i p l e
Virtual Ib'orkspace to Reduce Space Content ion in a L1Sndoiz,-Rmsed
Graph ica l Use r In te r face ," ACRI Trcins Graph ics. Vol. 4.. No. 3. Julk
1986 , pp . 211-243.45 . ],D. F o l ey a n d A . v a n D a m , F u n d a m e n t a l s o f 1 n tc r a ct i t .e C o m p u t e r
G r a p h i c s . A d d i s o n -W e s l e y , R e a d i n g M a s s . . 1 9 8 2 .
46. w.L. Betr ley et al., "H um an Fac tor s Tes t ing in the Design of Xerox's
8010 ' S t a r ' O f f i c e W o r k s t a t i o n , " P r o c . S IG C F iI , H u m a n F a c to r s i n
C o m p u t i n g S y s t e m s , A C M , New York, Dec . 1983. pp.72-77.
47. w,u x t o n a n d B . M y e r s . "A S t u d y i n T L v o- H a nd e d I n p u t , " Proc.
S I G C H I . f l w i a n F a c to r s i n C o m p u t i n g S y s te m s , A C h l . New York,
Ap r . 1986. pp .321-326.
48. K . S t a l l m a n . D . W e i n r eb . a n d D . Moon, L i s p M a c h i n e I n c . , Li sp
Ma chin e LYindoivs Sj .s t r:m hf anu a l , Culve r C i ty . Ca l i f . 1983.
4 9 . A p o l l o C o m p u t e r I n c . . " M ' in d o w M a n a g e r , " C h e l m s f o r d , h las s . .
1981.
Brad A. Myers i s a r e s e a r c h c o m p u t e r s c i e n t i s t
a t C a r n e g i e M e l l o n U n i v e r s i t y . F r o m 1980 u n t i l
1 9 8 3 h e w o r k e d a t P E R Q S y s t e m s C o r p o r a t i o n
w h e r e h e d e s i g n e d a n d i m p l e m e n t e d t h e S a p -
p h i r e w i n d o w m a n a g e r a n d n u m e r o u s P E R Q
d e m o n s t r a t i o n s fo r t h e S I G G R A P H e q u i p m e n t
e x h i b i t i o n . H is r e s e a r c h i n t e r e s t s i n c l u d e u s e r
i n t e r f a c e m a n a g e m e n t s y s t e m s ( U I M S s ) , u s e r
i n t e r f a c e s , p r o g r a m m i n g b y e x a m p l e , v i s u a l p r o -
g r a m m i n g , i n t e r ac t i o n t e c h n i q u e s , w i n d o w
m a n a g e m e n t , p r o g r a m m i n g e n v i r o n m e n t s , d eb u g g i n g, a n d g r a p hi c s .
M y e r s r e c e i v e d a P h D i n c o m p u t e r s c i e n c e a t t h e U n i v e r s i t y ofT o r o n to , a n d M S a n d B S c d e g r e e s f ro m t h e M a s s a c h u s e t t s I n s t i t u t e
of Technology. While a t MIT, he wa s a r e sea rch i n te r n a t Xerox PARC.
H e i s a m e m b e r o f S I G G R A P H . S I G C H I , A C M . a n d t h e C o m p u t e r
S o c i e t y of t h e I E E E .
M y e r s ' a d d r e s s is C o m p u t e r S c i e n c e D e p a r t m e n t . C a r n e g i e M e l l o n
Unive r s i ty , P i t t sb urgh . PA 15213-3890.
8 4 I E E E C o m p u t e r G r a p h i c s & A p p l i c a t i o n s