throbber
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 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 Jul 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 Ma~intosh,~ 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 nip 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 II 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 object in
`an office en

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket