`
`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 significant differences, and the
`differences can be classified in a taxonomy with fairly
`limited branching. This taxonomy should be useful in
`evaluating the similarities and differences of various
`window managers, and it will also serve as a guide for
`the issues that need to be addressed by designers of
`future 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 to study the choices available.
`
`A window manager is a software package that helps
`
`the user monitor and control different contexts by
`separating them physically onto different parts of one or
`more display screens. At its simplest, a window manager
`provides many separate terminals on 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 and
`sometimes as a server that can be used if desired. They
`
`September 1988
`
`0272-1;1618810900-0065s0100 198R l t E E
`
`65
`
`Canon Exhibit 1044, Page 1
`
`
`
`kcycmp. 1 xcolorr . 1
`
`xdpr. 1
`X d v l . 1
`xfax.1
`xfd.1
`xhost.1
`
`xtrek.1
`xpr.1
`xlmpv.1
`xrefrerh.1 wd.1
`xlnlt.1
`xset.1
`wlninfo.1
`xload.1
`xshcll.1 m.1
`x m . 1
`xpcrfnon.1 xtcm.1
`xuud.1
`
`1
`L
`
`OHodlfy(Tab1cCountcr. Table "Content.")
`R.(odIf~(FlgurcCountcr, Table "Contents")
`I haven't
`t r l c d I t . but I t looks I l k c I t should U
`
`man>
`manl/ manY mmW
`man> cd manl
`mad>
`rcslzc. 1
`x.1
`blff.l
`w.1
`bltaap.1
`xclock.1
`pIkaplx.1
`xdmo.1
`manl) 11
`t o t a l 181
`1 mlrc
`-rw-r--r--
`16591 Apr
`1 mirc
`2188 Apr
`-w-r--r--
`13633 Apr
`-w-r--r--
`1 mlrc
`5648 Apr
`-w-r--r--
`1 mirc
`1 mlsc
`3516 Apr
`-pw-p--p--
`1 mlsc
`1539 Apr
`-RJ-r--r--
`15276 Apr
`-w-r--r--
`1 mlsc
`1 mlrc
`5145 Apr
`-w-r--r--
`2421 Apr
`-rw-r--r--
`1 m i s t
`1 mlsc
`6711 FIpr
`-w-r--r--
`1 nirc
`1023 Apr
`-w-r--r--
`1 mlsc
`-w-r--r--
`2736 Apr 30 20:26
`-w-r--r--
`1783 Apr 30 2O:X
`1 n l r c
`-w-).--r--
`2671 Apr 30 20:26
`1 misc
`1526 Apr 30 20:26
`-w-r--r--
`1 mlsc
`3805 Apr 30 20:26
`1 n l r c
`-pw-p--r--
`2311 Apr 30 20:26
`-w-r--r--
`1 mlsc
`4360 Apr 30 20:26
`1 mlrc
`-w-r--r--
`-rw-p--p--
`10720 Apr 30 20:26
`1 mlsc
`-w-r--r--
`1 mlsc
`3472 Apr 30 20:26
`-rw-r--r--
`1 mlrc
`5002 Apr 30 20:26
`-rw-r--r--
`1053 Rpr 30 20:26
`1 mlsc
`2151 Apr 30 20:26
`-w-r--r--
`1 mlrc
`6811 Rpr 30 20:26
`1 mlsc
`-w-r--r--
`1 mlsc
`27590 FIpr 30 20:26
`-pw-r--p--
`742 Apr 30 20:26
`-w-r--r--
`1 mlsc
`1 mltc
`2367 A m 30 20:26
`-rw-r--r--
`4192 Apr 30 2O:X
`1 mlrc
`w-r--r--
`9263 Apr 30 20:26
`w-r--r--
`1 m l r c
`2654 J u l 9 13:57
`1 cllcc
`rw-r--r--
`ani> xud -out /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 separate activities to be put in phys-
`ically separate parts of the computer screen. The user of
`a 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, and
`such 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 own
`
`separate area of the screen (its own "window"). Switch-
`ing from one 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 same 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 same time, the user may
`give the input 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 E Comp 11 t t'r Graph I c, s R. Applic B t i o 11 s
`
`Canon Exhibit 1044, Page 2
`
`
`
`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 managers
`on the Star’ and Macintosh’ help support the meta-
`phor that using the computer 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 procedural
`interface can be provided on different machines. This
`was an important motivation for the development of the
`X window manager.4
`Today there are a large number of window managers
`in existence from many companies 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-
`ences can be characterized on a small number of differ-
`ent axes. (This survey was started at the Alvey MMI
`Workshop on Window Management.‘) Most of the
`ideas seem to have originated at the Xerox Palo Alto
`Research Center, including windows
`in general
`(Smalltalk‘), pop-up menus,7 icons (Tajo8,9 and Star’.‘),
`and tiled windows (Cedar”,”). Of course every window
`manager has its own original aspects, but most of the
`important features of the user interfaces of window
`managers do not seem to vary markedly.
`With the advent of the X window manager,4 which is
`rapidly becoming a de facto standard, the study of the
`user interface component is becoming more critical.
`This is because X and many other modern window
`managers allow the user interface to be changed, while
`still maintaining the same application interface. User
`interface designers therefore are faced with not only a
`choice for the user interface of their application, but also
`for that of the window manager. It is therefore important
`to focus on the different choices in the user interface
`component of window managers. This article presents
`a taxonomy of the choices used in existing window man-
`ager user interfaces, along with some advantages and
`disadvantages of each choice.
`(At the time of this writing, Xerox, AT&T, and Sun had
`just announced a portable window-manager user inter-
`face called “Open Look,” which apparently will be
`implemented on multiple-window managers, including
`X ’ and NeWS.” Open Look, which is based partially on
`the user interface of the Xerox Star, is designed to match
`the ease of use of the Macintosh, and thereby make Unix
`systems more user friendly.)
`
`Definition of terms
`The previous section defined “window managers”
`and discussed the reason they are so popular. This sec-
`tion defines some related terms that are important for
`understanding how window managers work.
`A window manager can 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 a
`mouse). The primary interface of this layer is to other
`programs, and it is called the window manager’s appli-
`cation or program interface. The base layer is not dis-
`cussed further in this article. The other layer of window
`managers is the user interface. This includes all aspects
`that are 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 parts of the user interface layer are the presen-
`tation, which is composed of the pictures that the win-
`dow manager displays, and the operations, which are the
`commands the user can give to manipulate the windows
`and their contents. Figure 1 shows windows that demon-
`strate different aspects of the presentation, including
`patterns or pictures for the area where there are no win-
`dows, title lines and borders for windows, etc. Examples
`of the operations that may be provided for windows
`include moving them around 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, are 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, which 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 would
`otherwise be too many windows to conveniently fit on
`the screen and manage easily. When a window is not in
`use, it can be removed and replaced with its icon, and
`later 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
`
`Canon Exhibit 1044, Page 3
`
`
`
`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 one 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 (or keyboard) focus. Older systems
`called 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 show which window is the
`listener.
`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) into 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 for window
`managers 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 the desk or on a special surface, and
`a small picture, called the tracking symbol or cursor, fol-
`lows the movement on the screen. In many window
`managers the picture for the cursor can be changed, but
`a common picture is an arrow pointing to the upper left.
`Pointing devices usually have one or more buttons. For
`example, there are typically one to three buttons on the
`top of a mouse. Some window managers allow the user
`
`68
`
`IEEE Computer Graphics & Applications
`
`Canon Exhibit 1044, Page 4
`
`
`
`14
`
`Sapphire
`
`Macintosh
`
`Cedar
`
`1-1
`Star
`
`Figure 3. Examples of icons from different systems: Sapphire,I3 M a ~ i n t o s h , ~ X,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 or three times quickly to specify additional
`commands. This is called multiclicking (for example,
`pressing twice quickly is double-clicking). Window
`managers may also support 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 compare window managers, it is first necessary to
`establish the boundaries of discussion. A window man-
`ager provides the basic service of managing different
`windows on 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. To
`compare the window managers of these different sys-
`tems, however, it is important to classify which aspects
`
`are being compared and which are considered add-on
`services. This section discusses some of these add-ons
`so that the rest of the article can concentrate on the win-
`dow manager portion itself.
`
`Some common add-ons are the following:
`1. a typescript package (handles user typing)
`2. entire editors
`3. a graphics package for output (also called the imag-
`ing model
`4. menus of various kinds
`5. forms (also called dialogue boxes)
`6. scrolling mechanisms
`7. general tool kits (which usually include menus,
`forms, and scrolling mechanisms]
`
`September 1988
`
`69
`
`Canon Exhibit 1044, Page 5
`
`
`
`Table, Window managers discussed in this article.
`
`Nane
`Smalltalk
`DLisp
`Interm-D
`Tajo
`Star
`Blit
`Display Manager
`??
`Sapphire
`PNX
`s unw lndows
`cedar
`Window Manager
`Window Manager
`Andrew
`Whitechapel
`RTL/CRTL
`MSWindows
`Viewpoint
`X
`
`Cleated by -
`Xerox PARC
`Xerox PARC
`Xerox PARC
`Xerox SDD
`Xerox SDD
`AT&T Bell Labs
`Apollo
`Symbolics
`Three Rivers
`ICL
`Sun
`Xerox PARC
`Apple
`Apple
`CMU ITC (Elm
`Whitechapel
`Siemens
`Microsoft
`Xerox SDD
`MIT Proiect Athena
`
`-
`
`Alto
`Altwmainframe
`Dorado
`Dandelion
`Dandelion
`B lit
`Apollo
`S ymbolics
`PERQ
`PERQ
`Sun
`Darado
`Lisa
`Macintosh
`IBM-RT, Sun
`MG-1
`PERQ
`IBM-PC
`6085/1186
`cmanv>
`
`C
`C
`C
`T
`C
`C
`C
`C
`C
`C
`T
`C
`C
`T
`C
`T
`T
`T or C
`C
`
`~
`
`~
`Comments
`
`
`
`References
`
`first use of icons, renamed "XDE"
`first product with windows
`1st documented impl.; terminal emulator
`originally had no mouse
`uses multi-clicking
`active icons
`feedback is full windows
`
`first tiled; used graphics package
`popularized windows & mouse
`
`no columns; used constraints
`current version supports coveted also
`swcessor to Xerox star
`first "portable" WM: emerainn standard
`
`40
`35
`8.9.38
`1,2,46
`36
`49
`48
`13
`41
`17
`10,11,20
`18
`3.19
`16
`23
`33
`28
`32
`4.24.27
`
`8. user interface management systems or UIMSS"
`(which usually include a tool kit)
`
`ments and programs. This may or may not be the same
`package used for handling typing to programs.
`
`Typescript package
`An example of a service that is often provided by win-
`dow managers is the handling of typing. This is often
`called a typescript package, and it usually supports some
`rudimentary line editing (backspace, delete line, etc.).
`The idea is to mimic the teletype interface to terminals
`provided by conventional time-sharing operating sys-
`tems. Most programming languages (for example C and
`Pascal) have as a function to read a line of text. When this
`function is executed, the user is typically allowed to edit
`the typed line before using carriage-return to confirm the
`entry. The typescript package handles this input also. In
`addition, it may provide more elaborate commands, and,
`in the extreme, be a full-fledged editor, as in the Andrew
`system."' 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 , ~ which provides the ability to copy arbitrary text
`and graphics from one window to another.
`
`Editors
`In addition to the typescript package used to handle
`command typing, some window managers include an
`entire text editor, which can be used for preparing docu-
`
`Graphics package
`Some window managers provide a sophisticated
`graphics package for application programs to help them
`produce output. Clearly, the window manager needs to
`output some graphics to draw the title lines, window
`borders, icons, backgrounds, etc. The primitives that the
`window manager provides for handling output is called
`the "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 the
`window manager. This allows more flexibility, since mul-
`tiple graphics packages can be used. For example, the
`CORE, GKS, and PHIGS graphics packages have all been
`implemented on top of Sunwindows. In addition, the
`graphics operations may be more efficient, since the
`window manager can export the primitives supported
`by the hardware. The interface to the window manager
`may 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,"
`and 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
`
`IEEE Computer Graphics & Applications
`
`Canon Exhibit 1044, Page 6
`
`
`
`Display Postscript to serve as the imaging nicxlt:l for
`future witidow managers. The advantage of using an
`underlying graphics package is that the window man-
`ager can provide a more attractive presentation. For
`example, the Macintosh window manager displays d r o p
`shad ow s and roil n d e d c o r n e r s, 0 the r ad \rant ages
`include a more consistent interface to and between
`applications and t) et te r d ev i (:e i 11 d c p end e nce.
`User interface tool kits
`Another service often proided 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 menu package. Whitechapel" also pro-
`vides scroll bars that can be displayed on 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 ensure consistency among the user
`interfaces of different application programs on the same
`machine. In addition, some window managers also pro-
`vide a tool to help organize and use the contents of thc
`tool kit. Examples of this are the Apple MacApp
`program'" 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 en t i o ni iig every window manager is i n i p o s s i b 1 e,
`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 managers are best. The ones included are 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 ofthis article is to
`illustrate the choices available in window manager user
`interfaces rather than to descrihe fully any particular
`VJ i rid ow man age r.
`Some Lvindow managers allow their user interfaces to
`be changed. For example, X allows significant changes.
`For this class of window manager, the article describes
`one of the available user interfaces, and some of the
`variability is mentioned where appropriate. For X. the
`"unrm" window manager." for the IHM-RT computer is
`described and will be called "XIuwm."
`Although this article discusses advantages and disad-
`vantages of various user interface choices, this is not
`meant 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 sholvs all the \vindo\v nianagcrs mentioned
`i n this articlc. The entries arc approsirnatel~~ in chrono-
`
`1 og i c a1 U rti c 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 it. 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 the positions of \viIido\vs. and even this user
`interface \vi11 affect 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 t i t er fa ~ t : s o they c a t i a 11 o\v a p p I i ca t i o 11 s in axi ni 11 m flex-
`it) il i t y.
`Other tvindoiv managcrs atteiiipt to specify the user
`interface of applications to a large extent to ensure con-
`sistenq.. In any case. the choice of the user interface of
`the windo\v manager must affect the user interfaces of
`the application programs. E\wi such \vindo\v managers
`as X, whose owti user interface can be changed. are not
`free of this problem. Different applications that run at
`the same time cannot all impose their choices on the
`same \vindo\v iiianager, since the \vindo\v manager user
`interface is global to all applications. Figure 4 sholvs a
`few saniplc Lvindow managers and hoiv much they
`i t i fl U e ti ce the I I se I' i n t e r faces of a p pl i c a t i on s.
`
`Presentation
`Now 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 t i g sect i (3 tis exp 1 ai n t 11 e va r i ou s options
`shown in this 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'] require that witidoivs be side by side and
`not overlap. As discussed earlier. this is called "tiling."
`The alternative is to allow windolvs to overlap. and this
`' X/uwm, atid man)'
`is provided b!, Smalltalk,
`others.
`Implementation anti hurna~i factors issues guide 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 an arbitrary win-
`doLv is also easier with tiling, since all of the windows
`
`September 1988
`
`71
`
`Canon Exhibit 1044, Page 7
`
`
`
`Figure 4. The amount that the user interface of some
`sample window managers affects the user interface
`of application programs.
`
`r f i x e d columns I...
`
`1 column Emacs
`2cohums Cedar
`
`Figure 5. Taxonomy of the presentation aspects of the user interface of window managers. Solid lines are
`choices (exactly one of the options is chosen). A window manager can include any or all of the options at the
`ends of the diagonal gray lines. Example systems are shown 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.
`
`72
`
`IEEE Computer Graphics & Applications
`
`Canon Exhibit 1044, Page 8
`
`
`
`are always visible. Often, the “best” 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, such as
`on the standard Macintosh, there is not enough room to
`use 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 hand,
`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 that
`uses covered windows to provide automatic layout. This
`is harder than with tiled windows, however, because it
`is less clear where windows should be placed.
`When windows are tiled, the next decision is whether
`the windows must be arranged in fixed columns or
`whether the windows can 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.33 Originally, the Andrew window man-
`ager used a constraint system to allow windows to be
`nonoverlapping and anywhere on 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 screen would change size when a new win-
`dow was added or removed, and the 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 manager from Siemens also
`uses constraints. ” The current version runs on top of
`X11, and it reportedly does not have the problems dis-
`cussed above for Andrew.
`If there are fixed columns, then there can be either a
`specified number or an arbitrary number. Probably the
`first use of the window concept was in such full-screen
`text editors as Emacs,j4 which allowed multiple files to
`be edited at the same time by dividing the terminal
`screen into horizontal sections. This idea has been
`extended in window managers that allow multiple
`columns. For 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.
`If windows are allowed to overlap, then there are a
`number of secondary options. First is whether to allow
`
`A
`
`B
`
`H
`
`D
`
`
`
`C
`
`E
`
`I
`
`G
`
`F
`
`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. It 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 I n t e r 1 i ~ p - D ~ ~ require that windows come to the top
`before being written to. Most modern window managers,
`however, allow output to windows while they are
`covered. If output can 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 managers, 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 lines and borders
`All window managers provide some “decoration” for
`the windows. This usually includes special “title lines”
`at the top and special borders around the entire window.
`The title line typically shows such global information as
`the current directory, the name of a file being edited, or
`the name of the program being run (see Figures 1 and 2).
`The Blit36 window manager is one of the few window
`managers that does not use title lines. In addition, the
`title lines and borders may contain other decorations and
`command buttons.
`
`Showing the listener
`An important presentation issue is how the listener is
`shown. Since there are multiple windows and 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
`
`Canon Exhibit 1044, Page 9
`
`
`
`Figure 7. The listener on the Macintosh3 is shown by drawing lines in the title line and displaying the com-
`mand areas. The scroll bars and arrows on the right and 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 top
`right is used to make the window full screen, and pressing in the square at the top left closes the window.
`
`Figure 8 . SapphireI3 displays the listener window by
`making its 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 about
`the window and the process running in it.
`
`case the bvindow containing the mouse tracking symbol
`is 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 starting
`it blinking (Interlisp-D), removing the command areas
`(Macintosh), or even filling the window with a particu-
`lar pattern when it is riot the listener (dots are used in
`the Hlit). Figure 7 shows a combination of changing the
`title line and command areas, and Figure 8 shows an
`example of using the border only.
`
`IEEE Computer Graphics & Applications
`
`Canon Exhibit 1044, Page 10
`
`
`
`Icons
`A major issue of presentation in modern systems is
`whether the window manager supports icons or 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 icons
`were 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 simply
`hides 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 an obje