NAME

twm - Tab Window Manager for the X Window System

SYNTAX

ttwwmm [ --ddiissppllaayy _d_p_y ] [ --ss ] [ --ff _i_n_i_t_f_i_l_e ] [ --vv ]

DESCRIPTION

_T_w_m is a window manager for the X Window System. It provides titlebars, shaped windows, several forms of icon management, user-defined macro functions, click-to-type and pointer-driven keyboard focus, and user-specified key and pointer button bindings.

This program is usually started by the user's session manager or startup script. When used from _x_d_m_(_1_) or _x_i_n_i_t_(_1_) without a session manager, _t_w_m is frequently executed in the foreground as the last client. When run this way, exiting _t_w_m causes the session to be terminated (i.e., logged out).

By default, application windows are surrounded by a ``frame'' with a titlebar at the top and a special border around the window. The titlebar contains the window's name, a rectangle that is lit when the window is receiving keyboard input, and function boxes known as ``titlebuttons'' at the left and right edges of the titlebar.

Pressing pointer Button1 (usually the left-most button unless it has been changed with _x_m_o_d_m_a_p) on a titlebutton will invoke the function associated with the button. In the default interface, windows are iconified by clicking (pressing and then immediately releasing) the left titlebutton (which looks like a Dot). Conversely, windows are deiconified by clicking in the associated icon or entry in the icon manager (see description of the variable SShhoowwIIccoonnMMaannaaggeerr and of the function ff..sshhoowwiiccoonnmmggrr).

Windows are resized by pressing the right titlebutton (which resembles a group of nested squares), dragging the pointer over edge that is to be moved, and releasing the pointer when the outline of the window is the desired size. Similarly, windows are moved by pressing in the title or highlight region, dragging a window outline to the new location, and then releasing when the outline is in the desired position. Just clicking in the title or highlight region raises the window without moving it.

When new windows are created, _t_w_m will honor any size and location information requested by the user (usually through _-_g_e_o_m_e_t_r_y command line argument or resources for the individual applications). Otherwise, an outline of the window's default size, its titlebar, and lines dividing the window into a 3x3 grid that track the pointer are displayed. Clicking pointer Button1 will position the window at the current position and give it the default size. Pressing pointer Button2 (usually the middle pointer button) and dragging the outline will give the window its current position but allow the sides to be resized as described above. Clicking pointer Button3 (usually the right pointer button) will give the window its current position but attempt to make it long enough to touch the bottom the screen.

OPTIONS

_T_w_m accepts the following command line options:

-display _d_p_y
This option specifies the X server to use.
-s
This option indicates that only the default screen (as specified by --ddiissppllaayy or by the DDIISSPPLLAAYY environment variable) should be managed. By default, _t_w_m will attempt to manage all screens on the display.
-f _f_i_l_e_n_a_m_e
This option specifies the name of the startup file to use. By default, _t_w_m will look in the user's home directory for files named _._t_w_m_r_c_._n_u_m (where _n_u_m is a screen number) or _._t_w_m_r_c.
-v
This option indicates that _t_w_m should print error messages whenever an unexpected X Error event is received. This can be useful when debugging applications but can be distracting in regular use.

CUSTOMIZATION

Much of _t_w_m's appearance and behavior can be controlled by providing a startup file in one of the following locations (searched in order for each screen being managed when _t_w_m begins):

$HOME/.twmrc._s_c_r_e_e_n_n_u_m_b_e_r
The _s_c_r_e_e_n_n_u_m_b_e_r is a small positive number (e.g. 0, 1, etc.) representing the screen number (e.g. the last number in the DISPLAY environment variable _h_o_s_t_:_d_i_s_p_l_a_y_n_u_m_._s_c_r_e_e_n_n_u_m) that would be used to contact that screen of the display. This is intended for displays with multiple screens of differing visual types.
$HOME/.twmrc
This is the usual name for an individual user's startup file.
/etc/X11/twm/system.twmrc
If neither of the preceding files are found, _t_w_m will look in this file for a default configuration. This is often tailored by the site administrator to provide convenient menus or familiar bindings for novice users.

If no startup files are found, _t_w_m will use the built-in defaults described above. The only resource used by _t_w_m is _b_i_t_m_a_p_F_i_l_e_P_a_t_h for a colon-separated list of directories to search when looking for bitmap files (for more information, see the _A_t_h_e_n_a _W_i_d_g_e_t_s manual and _x_r_d_b_(_1_)).

_T_w_m startup files are logically broken up into three types of specifications: _V_a_r_i_a_b_l_e_s, _B_i_n_d_i_n_g_s, _M_e_n_u_s. The _V_a_r_i_a_b_l_e_s section must come first and is used to describe the fonts, colors, cursors, border widths, icon and window placement, highlighting, autoraising, layout of titles, warping, use of the icon manager. The _B_i_n_d_i_n_g_s section usually comes second and is used to specify the functions that should be to be invoked when keyboard and pointer buttons are pressed in windows, icons, titles, and frames. The _M_e_n_u_s section gives any user-defined menus (containing functions to be invoked or commands to be executed).

Variable names and keywords are case-insensitive. Strings must be surrounded by double quote characters (e.g. "blue") and are case-sensitive. A pound sign (#) outside of a string causes the remainder of the line in which the character appears to be treated as a comment.

VARIABLES

Many of the aspects of _t_w_m's user interface are controlled by variables that may be set in the user's startup file. Some of the options are enabled or disabled simply by the presence of a particular keyword. Other options require keywords, numbers, strings, or lists of all of these.

Lists are surrounded by braces and are usually separated by whitespace or a newline. For example:


     AAuuttooRRaaiissee { "emacs" "XTerm" "Xmh" }
     


or


     AAuuttooRRaaiissee
     {
        "emacs"
        "XTerm"
        "Xmh"
     }
     


When a variable containing a list of strings representing windows is searched (e.g. to determine whether or not to enable autoraise as shown above), a string must be an exact, case-sensitive match to the window's name (given by the WM_NAME window property), resource name or class name (both given by the WM_CLASS window property). The preceding example would enable autoraise on windows named ``emacs'' as well as any _x_t_e_r_m (since they are of class ``XTerm'') or xmh windows (which are of class ``Xmh'').

String arguments that are interpreted as filenames (see the PPiixxmmaappss, CCuurrssoorrss, and IIccoonnDDiirreeccttoorryy below) will prepend the user's directory (specified by the HHOOMMEE environment variable) if the first character is a tilde (~). If, instead, the first character is a colon (:), the name is assumed to refer to one of the internal bitmaps that are used to create the default titlebars symbols: ::xxllooggoo or ::ddeelleettee (both refer to the X logo), ::ddoott or ::iiccoonniiffyy (both refer to the dot), ::rreessiizzee (the nested squares used by the resize button), ::mmeennuu (a page with lines), and ::qquueessttiioonn (the question mark used for non-existent bitmap files).

The following variables may be specified at the top of a _t_w_m startup file. Lists of Window name prefix strings are indicated by _w_i_n_-_l_i_s_t. Optional arguments are shown in square brackets:

AAuuttooRRaaiissee { _w_i_n_-_l_i_s_t } This variable specifies a list of windows that should automatically be
raised whenever the pointer enters the window. This action can be interactively enabled or disabled on individual windows using the function ff..aauuttoorraaiissee.
AAuuttooRReellaattiivveeRReessiizzee This variable indicates that dragging out a window size (either when
initially sizing the window with pointer Button2 or when resizing it) should not wait until the pointer has crossed the window edges. Instead, moving the pointer automatically causes the nearest edge or edges to move by the same amount. This allows the resizing of windows that extend off the edge of the screen. If the pointer is in the center of the window, or if the resize is begun by pressing a titlebutton, _t_w_m will still wait for the pointer to cross a window edge (to prevent accidents). This option is particularly useful for people who like the press-drag-release method of sweeping out window sizes.
BBoorrddeerrCCoolloorr _s_t_r_i_n_g [{ _w_i_n_c_o_l_o_r_l_i_s_t }] This variable specifies the default color of the border to be placed around
all non-iconified windows, and may only be given within a CCoolloorr, GGrraayyssccaallee or MMoonnoocchhrroommee list. The optional _w_i_n_c_o_l_o_r_l_i_s_t specifies a list of window and color name pairs for specifying particular border colors for different types of windows. For example:


     BBoorrddeerrCCoolloorr "gray50"
     {
        "XTerm"  "red"
        "xmh" "green"
     }
     


The default is "black".
BBoorrddeerrTTiilleeBBaacckkggrroouunndd _s_t_r_i_n_g [{ _w_i_n_c_o_l_o_r_l_i_s_t }] This variable specifies the default background color in the gray pattern
used in unhighlighted borders (only if NNooHHiigghhlliigghhtt hasn't been set), and may only be given within a CCoolloorr, GGrraayyssccaallee or MMoonnoocchhrroommee list. The optional _w_i_n_c_o_l_o_r_l_i_s_t allows per-window colors to be specified. The default is "white".
BBoorrddeerrTTiilleeFFoorreeggrroouunndd _s_t_r_i_n_g [{ _w_i_n_c_o_l_o_r_l_i_s_t }] This variable specifies the default foreground color in the gray pattern
used in unhighlighted borders (only if NNooHHiigghhlliigghhtt hasn't been set), and may only be given within a CCoolloorr, GGrraayyssccaallee or MMoonnoocchhrroommee list. The optional _w_i_n_c_o_l_o_r_l_i_s_t allows per-window colors to be specified. The default is "black".
BBoorrddeerrWWiiddtthh _p_i_x_e_l_s This variable specifies the width in pixels of the border surrounding
all client window frames if CClliieennttBBoorrddeerrWWiiddtthh has not been specified. This value is also used to set the border size of windows created by _t_w_m (such as the icon manager). The default is 2.
BBuuttttoonnIInnddeenntt _p_i_x_e_l_s This variable specifies the amount by which titlebuttons should be
indented on all sides. Positive values cause the buttons to be smaller than the window text and highlight area so that they stand out. Setting this and the TTiittlleeBBuuttttoonnBBoorrddeerrWWiiddtthh variables to 0 makes titlebuttons be as tall and wide as possible. The default is 1.
CClliieennttBBoorrddeerrWWiiddtthh This variable indicates that border width of a window's frame should be set to
the initial border width of the window, rather than to the value of BBoorrddeerrWWiiddtthh.
CCoolloorr { _c_o_l_o_r_s_-_l_i_s_t } This variable specifies a list of color assignments to be made if the default
display is capable of displaying more than simple black and white. The _c_o_l_o_r_s_-_l_i_s_t is made up of the following color variables and their values: DDeeffaauullttBBaacckkggrroouunndd, DDeeffaauullttFFoorreeggrroouunndd, MMeennuuBBaacckkggrroouunndd, MMeennuuFFoorreeggrroouunndd, MMeennuuTTiittlleeBBaacckkggrroouunndd, MMeennuuTTiittlleeFFoorreeggrroouunndd, MMeennuuSShhaaddoowwCCoolloorr, MMeennuuBBoorrddeerrCCoolloorr, PPooiinntteerrFFoorreeggrroouunndd, and PPooiinntteerrBBaacckkggrroouunndd. The following color variables may also be given a list of window and color name pairs to allow per-window colors to be specified (see BBoorrddeerrCCoolloorr for details): BBoorrddeerrCCoolloorr, IIccoonnMMaannaaggeerrHHiigghhlliigghhtt, BBoorrddeerrTTiittlleeBBaacckkggrroouunndd, BBoorrddeerrTTiittlleeFFoorreeggrroouunndd, TTiittlleeBBaacckkggrroouunndd, TTiittlleeFFoorreeggrroouunndd, IIccoonnBBaacckkggrroouunndd, IIccoonnFFoorreeggrroouunndd, IIccoonnBBoorrddeerrCCoolloorr, IIccoonnMMaannaaggeerrBBaacckkggrroouunndd, and IIccoonnMMaannaaggeerrFFoorreeggrroouunndd. For example:


     CCoolloorr
     {
        MenuBackground "gray50"
        MenuForeground "blue"
        BorderColor    "red" { "XTerm" "yellow" }
        TitleForeground"yellow"
        TitleBackground"blue"
     }
     


All of these color variables may also be specified for the MMoonnoocchhrroommee variable, allowing the same initialization file to be used on both color and monochrome displays.
CCoonnssttrraaiinneeddMMoovveeTTiimmee _m_i_l_l_i_s_e_c_o_n_d_s This variable specifies the length of time between button clicks needed to
begin a constrained move operation. Double clicking within this amount of time when invoking ff..mmoovvee will cause the window to be moved only in a horizontal or vertical direction. Setting this value to 0 will disable constrained moves. The default is 400 milliseconds.
CCuurrssoorrss { _c_u_r_s_o_r_-_l_i_s_t } This variable specifies the glyphs that _t_w_m should use for various
pointer cursors. Each cursor may be defined either from the ccuurrssoorr font or from two bitmap files. Shapes from the ccuurrssoorr font may be specified directly as:


        _c_u_r_s_o_r_n_a_m_e  "_s_t_r_i_n_g"
     


where _c_u_r_s_o_r_n_a_m_e is one of the cursor names listed below, and _s_t_r_i_n_g is the name of a glyph as found in the file /usr/X11R6/include/X11/cursorfont.h (without the ``XC_'' prefix). If the cursor is to be defined from bitmap files, the following syntax is used instead:


        _c_u_r_s_o_r_n_a_m_e  "_i_m_a_g_e""_m_a_s_k"
     


The _i_m_a_g_e and _m_a_s_k strings specify the names of files containing the glyph image and mask in _b_i_t_m_a_p_(_1_) form. The bitmap files are located in the same manner as icon bitmap files. The following example shows the default cursor definitions:


     CCuurrssoorrss
     {
        Frame    "top_left_arrow"
        Title    "top_left_arrow"
        Icon     "top_left_arrow"
        IconMgr  "top_left_arrow"
        Move     "fleur"
        Resize      "fleur"
        Menu     "sb_left_arrow"
        Button      "hand2"
        Wait     "watch"
        Select      "dot"
        Destroy  "pirate"
     }
     


DDeeccoorraatteeTTrraannssiieennttss This variable indicates that transient windows (those containing a
WM_TRANSIENT_FOR property) should have titlebars. By default, transients are not reparented.
DDeeffaauullttBBaacckkggrroouunndd _s_t_r_i_n_g This variable specifies the background color to be used for sizing and
information windows. The default is "white".
DDeeffaauullttFFoorreeggrroouunndd _s_t_r_i_n_g This variable specifies the foreground color to be used for sizing and
information windows. The default is "black".
DDoonnttIIccoonniiffyyBByyUUnnmmaappppiinngg { _w_i_n_-_l_i_s_t } This variable specifies a list of windows that should not be iconified by
simply unmapping the window (as would be the case if IIccoonniiffyyBByyUUnnmmaappppiinngg had been set). This is frequently used to force some windows to be treated as icons while other windows are handled by the icon manager.
DDoonnttMMoovveeOOffff This variable indicates that windows should not be allowed to be moved off the
screen. It can be overridden by the ff..ffoorrcceemmoovvee function.
DDoonnttSSqquueeeezzeeTTiittllee [{ _w_i_n_-_l_i_s_t }] This variable indicates that titlebars should not be squeezed to their
minimum size as described under SSqquueeeezzeeTTiittllee below. If the optional window list is supplied, only those windows will be prevented from being squeezed.
FFoorrcceeIIccoonnss This variable indicates that icon pixmaps specified in the IIccoonnss
variable should override any client-supplied pixmaps.
FFrraammeePPaaddddiinngg _p_i_x_e_l_s This variable specifies the distance between the titlebar decorations (the
button and text) and the window frame. The default is 2 pixels.
GGrraayyssccaallee { _c_o_l_o_r_s } This variable specifies a list of color assignments that should be made if
the screen has a GrayScale default visual. See the description of CCoolloorrss.
IIccoonnBBaacckkggrroouunndd _s_t_r_i_n_g [{ _w_i_n_-_l_i_s_t }] This variable specifies the background color of icons, and may
only be specified inside of a CCoolloorr, GGrraayyssccaallee or MMoonnoocchhrroommee list. The optional _w_i_n_-_l_i_s_t is a list of window names and colors so that per-window colors may be specified. See the BBoorrddeerrCCoolloorr variable for a complete description of the _w_i_n_-_l_i_s_t. The default is "white".
IIccoonnBBoorrddeerrCCoolloorr _s_t_r_i_n_g [{ _w_i_n_-_l_i_s_t }] This variable specifies the color of the border used for icon windows, and
may only be specified inside of a CCoolloorr, GGrraayyssccaallee or MMoonnoocchhrroommee list. The optional _w_i_n_-_l_i_s_t is a list of window names and colors so that per-window colors may be specified. See the BBoorrddeerrCCoolloorr variable for a complete description of the _w_i_n_-_l_i_s_t. The default is "black".
IIccoonnBBoorrddeerrWWiiddtthh _p_i_x_e_l_s This variable specifies the width in pixels of the border surrounding
icon windows. The default is 2.
IIccoonnMMaaxxWWiiddtthh _p_i_x_e_l_s This variable specifies the maximum width in pixels of the icon window.
The default is 1024.
IIccoonnDDiirreeccttoorryy _s_t_r_i_n_g This variable specifies the directory that should be searched if
if a bitmap file cannot be found in any of the directories in the bbiittmmaappFFiilleePPaatthh resource.
IIccoonnFFoonntt _s_t_r_i_n_g This variable specifies the font to be used to display icon names within
icons. The default is "variable".
IIccoonnFFoorreeggrroouunndd _s_t_r_i_n_g [{ _w_i_n_-_l_i_s_t }] This variable specifies the foreground color to be used when displaying icons,
and may only be specified inside of a CCoolloorr, GGrraayyssccaallee or MMoonnoocchhrroommee list. The optional _w_i_n_-_l_i_s_t is a list of window names and colors so that per-window colors may be specified. See the BBoorrddeerrCCoolloorr variable for a complete description of the _w_i_n_-_l_i_s_t. The default is "black".
IIccoonniiffyyBByyUUnnmmaappppiinngg [[{{ _w_i_n_-_l_i_s_t }}]]_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _i_n_d_i_c_a_t_e_s _t_h_a_t _w_i_n_d_o_w_s _s_h_o_u_l_d _b_e _i_c_o_n_i_f_i_e_d _b_y _b_e_i_n_g _u_n_m_a_p_p_e_d _<_d_d_> _w_i_t_h_o_u_t _t_r_y_i_n_g _t_o _m_a_p _a_n_y _i_c_o_n_s_. _T_h_i_s _a_s_s_u_m_e_s _t_h_a_t _t_h_e _u_s_e_r _w_i_l_l _r_e_m_a_p _t_h_e _w_i_n_d_o_w _t_h_r_o_u_g_h _t_h_e _i_c_o_n _m_a_n_a_g_e_r_, _t_h_e ff..wwaarrppttoo _f_u_n_c_t_i_o_n_, _o_r _t_h_e _T_w_m_W_i_n_d_o_w_s _m_e_n_u_. _I_f _t_h_e _o_p_t_i_o_n_a_l _w_i_n_-_l_i_s_t _i_s _p_r_o_v_i_d_e_d_, _o_n_l_y _t_h_o_s_e _w_i_n_d_o_w_s _w_i_l_l _b_e _i_c_o_n_i_f_i_e_d _b_y _s_i_m_p_l_y _u_n_m_a_p_p_i_n_g_. _W_i_n_d_o_w_s _t_h_a_t _h_a_v_e _b_o_t_h _t_h_i_s _a_n_d _t_h_e IIccoonnMMaannaaggeerrDDoonnttSShhooww _o_p_t_i_o_n_s _s_e_t _m_a_y _n_o_t _b_e _a_c_c_e_s_s_i_b_l_e _i_f _n_o _b_i_n_d_i_n_g _t_o _t_h_e _T_w_m_W_i_n_d_o_w_s _m_e_n_u _i_s _s_e_t _i_n _t_h_e _u_s_e_r_'_s _s_t_a_r_t_u_p _f_i_l_e_. _<_d_t_> _<_b_>IIccoonnMMaannaaggeerrBBaacckkggrroouunndd _s_t_r_i_n_g _[_{ _w_i_n_-_l_i_s_t _}_]_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _s_p_e_c_i_f_i_e_s _t_h_e _b_a_c_k_g_r_o_u_n_d _c_o_l_o_r _t_o _u_s_e _f_o_r _i_c_o_n _m_a_n_a_g_e_r _e_n_t_r_i_e_s_, _<_d_d_> _a_n_d _m_a_y _o_n_l_y _b_e _s_p_e_c_i_f_i_e_d _i_n_s_i_d_e _o_f _a CCoolloorr_, GGrraayyssccaallee _o_r MMoonnoocchhrroommee _l_i_s_t_. _T_h_e _o_p_t_i_o_n_a_l _w_i_n_-_l_i_s_t _i_s _a _l_i_s_t _o_f _w_i_n_d_o_w _n_a_m_e_s _a_n_d _c_o_l_o_r_s _s_o _t_h_a_t _p_e_r_-_w_i_n_d_o_w _c_o_l_o_r_s _m_a_y _b_e _s_p_e_c_i_f_i_e_d_. _S_e_e _t_h_e BBoorrddeerrCCoolloorr _v_a_r_i_a_b_l_e _f_o_r _a _c_o_m_p_l_e_t_e _d_e_s_c_r_i_p_t_i_o_n _o_f _t_h_e _w_i_n_-_l_i_s_t_. _T_h_e _d_e_f_a_u_l_t _i_s _"_w_h_i_t_e_"_. _<_d_t_> _<_b_>IIccoonnMMaannaaggeerrDDoonnttSShhooww _[_{ _w_i_n_-_l_i_s_t _}_]_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _i_n_d_i_c_a_t_e_s _t_h_a_t _t_h_e _i_c_o_n _m_a_n_a_g_e_r _s_h_o_u_l_d _n_o_t _d_i_s_p_l_a_y _a_n_y _<_d_d_> _w_i_n_d_o_w_s_. _I_f _t_h_e _o_p_t_i_o_n_a_l _w_i_n_-_l_i_s_t _i_s _g_i_v_e_n_, _o_n_l_y _t_h_o_s_e _w_i_n_d_o_w_s _w_i_l_l _n_o_t _b_e _d_i_s_p_l_a_y_e_d_. _T_h_i_s _v_a_r_i_a_b_l_e _i_s _u_s_e_d _t_o _p_r_e_v_e_n_t _w_i_n_d_o_w_s _t_h_a_t _a_r_e _r_a_r_e_l_y _i_c_o_n_i_f_i_e_d _(_s_u_c_h _a_s _x_c_l_o_c_k _o_r _x_l_o_a_d_) _f_r_o_m _t_a_k_i_n_g _u_p _s_p_a_c_e _i_n _t_h_e _i_c_o_n _m_a_n_a_g_e_r_. _<_d_t_> _<_b_>IIccoonnMMaannaaggeerrFFoonntt _s_t_r_i_n_g_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _s_p_e_c_i_f_i_e_s _t_h_e _f_o_n_t _t_o _b_e _u_s_e_d _w_h_e_n _d_i_s_p_l_a_y_i_n_g _i_c_o_n _m_a_n_a_g_e_r _<_d_d_> _e_n_t_r_i_e_s_. _T_h_e _d_e_f_a_u_l_t _i_s _"_v_a_r_i_a_b_l_e_"_. _<_d_t_> _<_b_>IIccoonnMMaannaaggeerrFFoorreeggrroouunndd _s_t_r_i_n_g _[_{ _w_i_n_-_l_i_s_t _}_]_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _s_p_e_c_i_f_i_e_s _t_h_e _f_o_r_e_g_r_o_u_n_d _c_o_l_o_r _t_o _b_e _u_s_e_d _w_h_e_n _d_i_s_p_l_a_y_i_n_g _<_d_d_> _i_c_o_n _m_a_n_a_g_e_r _e_n_t_r_i_e_s_, _a_n_d _m_a_y _o_n_l_y _b_e _s_p_e_c_i_f_i_e_d _i_n_s_i_d_e _o_f _a CCoolloorr_, GGrraayyssccaallee _o_r MMoonnoocchhrroommee _l_i_s_t_. _T_h_e _o_p_t_i_o_n_a_l _w_i_n_-_l_i_s_t _i_s _a _l_i_s_t _o_f _w_i_n_d_o_w _n_a_m_e_s _a_n_d _c_o_l_o_r_s _s_o _t_h_a_t _p_e_r_-_w_i_n_d_o_w _c_o_l_o_r_s _m_a_y _b_e _s_p_e_c_i_f_i_e_d_. _S_e_e _t_h_e BBoorrddeerrCCoolloorr _v_a_r_i_a_b_l_e _f_o_r _a _c_o_m_p_l_e_t_e _d_e_s_c_r_i_p_t_i_o_n _o_f _t_h_e _w_i_n_-_l_i_s_t_. _T_h_e _d_e_f_a_u_l_t _i_s _"_b_l_a_c_k_"_. _<_d_t_> _<_b_>IIccoonnMMaannaaggeerrGGeeoommeettrryy _s_t_r_i_n_g _[ _c_o_l_u_m_n_s _]_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _s_p_e_c_i_f_i_e_s _t_h_e _g_e_o_m_e_t_r_y _o_f _t_h_e _i_c_o_n _m_a_n_a_g_e_r _w_i_n_d_o_w_. _T_h_e _<_d_d_> _s_t_r_i_n_g _a_r_g_u_m_e_n_t _i_s _s_t_a_n_d_a_r_d _g_e_o_m_e_t_r_y _s_p_e_c_i_f_i_c_a_t_i_o_n _t_h_a_t _i_n_d_i_c_a_t_e_s _t_h_e _i_n_i_t_i_a_l _f_u_l_l _s_i_z_e _o_f _t_h_e _i_c_o_n _m_a_n_a_g_e_r_. _T_h_e _i_c_o_n _m_a_n_a_g_e_r _w_i_n_d_o_w _i_s _t_h_e_n _b_r_o_k_e_n _i_n_t_o _c_o_l_u_m_n_s _p_i_e_c_e_s _a_n_d _s_c_a_l_e_d _a_c_c_o_r_d_i_n_g _t_o _t_h_e _n_u_m_b_e_r _o_f _e_n_t_r_i_e_s _i_n _t_h_e _i_c_o_n _m_a_n_a_g_e_r_. _E_x_t_r_a _e_n_t_r_i_e_s _a_r_e _w_r_a_p_p_e_d _t_o _f_o_r_m _a_d_d_i_t_i_o_n_a_l _r_o_w_s_. _T_h_e _d_e_f_a_u_l_t _n_u_m_b_e_r _o_f _c_o_l_u_m_n_s _i_s _1_. _<_d_t_> _<_b_>IIccoonnMMaannaaggeerrHHiigghhlliigghhtt _s_t_r_i_n_g _[_{ _w_i_n_-_l_i_s_t _}_]_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _s_p_e_c_i_f_i_e_s _t_h_e _b_o_r_d_e_r _c_o_l_o_r _t_o _b_e _u_s_e_d _w_h_e_n _h_i_g_h_l_i_g_h_t_i_n_g _<_d_d_> _t_h_e _i_c_o_n _m_a_n_a_g_e_r _e_n_t_r_y _t_h_a_t _c_u_r_r_e_n_t_l_y _h_a_s _t_h_e _f_o_c_u_s_, _a_n_d _c_a_n _o_n_l_y _b_e _s_p_e_c_i_f_i_e_d _i_n_s_i_d_e _o_f _a CCoolloorr_, GGrraayyssccaallee _o_r MMoonnoocchhrroommee _l_i_s_t_. _T_h_e _o_p_t_i_o_n_a_l _w_i_n_-_l_i_s_t _i_s _a _l_i_s_t _o_f _w_i_n_d_o_w _n_a_m_e_s _a_n_d _c_o_l_o_r_s _s_o _t_h_a_t _p_e_r_-_w_i_n_d_o_w _c_o_l_o_r_s _m_a_y _b_e _s_p_e_c_i_f_i_e_d_. _S_e_e _t_h_e BBoorrddeerrCCoolloorr _v_a_r_i_a_b_l_e _f_o_r _a _c_o_m_p_l_e_t_e _d_e_s_c_r_i_p_t_i_o_n _o_f _t_h_e _w_i_n_-_l_i_s_t_. _T_h_e _d_e_f_a_u_l_t _i_s _"_b_l_a_c_k_"_. _<_d_t_> _<_b_>IIccoonnMMaannaaggeerrss _{ _i_c_o_n_m_g_r_-_l_i_s_t _}_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _s_p_e_c_i_f_i_e_s _a _l_i_s_t _o_f _i_c_o_n _m_a_n_a_g_e_r_s _t_o _c_r_e_a_t_e_. _E_a_c_h _i_t_e_m _i_n _t_h_e _<_d_d_> _i_c_o_n_m_g_r_-_l_i_s_t _h_a_s _t_h_e _f_o_l_l_o_w_i_n_g _f_o_r_m_a_t_: _<_b_r_>_<_b_r_> _<_b_r_> _<_p_r_e_> _"_w_i_n_n_a_m_e_" _[_"_i_c_o_n_n_a_m_e_"_]_"_g_e_o_m_e_t_r_y_" _c_o_l_u_m_n_s _<_/_p_r_e_> _<_b_r_>_<_b_r_> _w_h_e_r_e _w_i_n_n_a_m_e _i_s _t_h_e _n_a_m_e _o_f _t_h_e _w_i_n_d_o_w_s _t_h_a_t _s_h_o_u_l_d _b_e _p_u_t _i_n_t_o _t_h_i_s _i_c_o_n _m_a_n_a_g_e_r_, _i_c_o_n_n_a_m_e _i_s _t_h_e _n_a_m_e _o_f _t_h_a_t _i_c_o_n _m_a_n_a_g_e_r _w_i_n_d_o_w_'_s _i_c_o_n_, _g_e_o_m_e_t_r_y _i_s _a _s_t_a_n_d_a_r_d _g_e_o_m_e_t_r_y _s_p_e_c_i_f_i_c_a_t_i_o_n_, _a_n_d _c_o_l_u_m_n_s _i_s _t_h_e _n_u_m_b_e_r _o_f _c_o_l_u_m_n_s _i_n _t_h_i_s _i_c_o_n _m_a_n_a_g_e_r _a_s _d_e_s_c_r_i_b_e_d _i_n IIccoonnMMaannaaggeerrGGeeoommeettrryy_. _F_o_r _e_x_a_m_p_l_e_: _<_b_r_>_<_b_r_> _<_b_r_> _<_p_r_e_> IIccoonnMMaannaaggeerrss _{ _"_X_T_e_r_m_" _"_=_3_0_0_x_5_+_8_0_0_+_5_"_5 _"_m_y_h_o_s_t_" _"_=_4_0_0_x_5_+_1_0_0_+_5_"_2 _} _<_/_p_r_e_> _<_b_r_>_<_b_r_> _C_l_i_e_n_t_s _w_h_o_s_e _n_a_m_e _o_r _c_l_a_s_s _i_s _`_`_X_T_e_r_m_'_' _w_i_l_l _h_a_v_e _a_n _e_n_t_r_y _c_r_e_a_t_e_d _i_n _t_h_e _`_`_X_T_e_r_m_'_' _i_c_o_n _m_a_n_a_g_e_r_. _C_l_i_e_n_t_s _w_h_o_s_e _n_a_m_e _w_a_s _`_`_m_y_h_o_s_t_'_' _w_o_u_l_d _b_e _p_u_t _i_n_t_o _t_h_e _`_`_m_y_h_o_s_t_'_' _i_c_o_n _m_a_n_a_g_e_r_. _<_d_t_> _<_b_>IIccoonnMMaannaaggeerrSShhooww _{ _w_i_n_-_l_i_s_t _}_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _s_p_e_c_i_f_i_e_s _a _l_i_s_t _o_f _w_i_n_d_o_w_s _t_h_a_t _s_h_o_u_l_d _a_p_p_e_a_r _i_n _t_h_e _i_c_o_n _<_d_d_> _m_a_n_a_g_e_r_. _W_h_e_n _u_s_e_d _i_n _c_o_n_j_u_n_c_t_i_o_n _w_i_t_h _t_h_e IIccoonnMMaannaaggeerrDDoonnttSShhooww _v_a_r_i_a_b_l_e_, _o_n_l_y _t_h_e _w_i_n_d_o_w_s _i_n _t_h_i_s _l_i_s_t _w_i_l_l _b_e _s_h_o_w_n _i_n _t_h_e _i_c_o_n _m_a_n_a_g_e_r_. _<_d_t_> _<_b_>IIccoonnRReeggiioonn _g_e_o_m_s_t_r_i_n_g _v_g_r_a_v _h_g_r_a_v _g_r_i_d_w_i_d_t_h _g_r_i_d_h_e_i_g_h_t_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _s_p_e_c_i_f_i_e_s _a_n _a_r_e_a _o_n _t_h_e _r_o_o_t _w_i_n_d_o_w _i_n _w_h_i_c_h _i_c_o_n_s _a_r_e _p_l_a_c_e_d _<_d_d_> _i_f _n_o _s_p_e_c_i_f_i_c _i_c_o_n _l_o_c_a_t_i_o_n _i_s _p_r_o_v_i_d_e_d _b_y _t_h_e _c_l_i_e_n_t_. _T_h_e _g_e_o_m_s_t_r_i_n_g _i_s _a _q_u_o_t_e_d _s_t_r_i_n_g _c_o_n_t_a_i_n_i_n_g _a _s_t_a_n_d_a_r_d _g_e_o_m_e_t_r_y _s_p_e_c_i_f_i_c_a_t_i_o_n_. _I_f _m_o_r_e _t_h_a_n _o_n_e IIccoonnRReeggiioonn _l_i_n_e_s _a_r_e _g_i_v_e_n_, _i_c_o_n_s _w_i_l_l _b_e _p_u_t _i_n_t_o _t_h_e _s_u_c_c_e_e_d_i_n_g _i_c_o_n _r_e_g_i_o_n_s _w_h_e_n _t_h_e _f_i_r_s_t _i_s _f_u_l_l_. _T_h_e _v_g_r_a_v _a_r_g_u_m_e_n_t _s_h_o_u_l_d _b_e _e_i_t_h_e_r NNoorrtthh _o_r SSoouutthh _a_n_d _c_o_n_t_r_o_l _a_n_d _i_s _u_s_e_d _t_o _c_o_n_t_r_o_l _w_h_e_t_h_e_r _i_c_o_n_s _a_r_e _f_i_r_s_t _f_i_l_l_e_d _i_n _f_r_o_m _t_h_e _t_o_p _o_r _b_o_t_t_o_m _o_f _t_h_e _i_c_o_n _r_e_g_i_o_n_. _S_i_m_i_l_a_r_l_y_, _t_h_e _h_g_r_a_v _a_r_g_u_m_e_n_t _s_h_o_u_l_d _b_e _e_i_t_h_e_r EEaasstt _o_r WWeesstt _a_n_d _i_s _u_s_e_d _t_o _c_o_n_t_r_o_l _w_h_e_t_h_e_r _i_c_o_n_s _s_h_o_u_l_d _b_e _f_i_l_l_e_d _i_n _f_r_o_m _l_e_f_t _f_r_o_m _t_h_e _r_i_g_h_t_. _I_c_o_n_s _a_r_e _l_a_i_d _o_u_t _w_i_t_h_i_n _t_h_e _r_e_g_i_o_n _i_n _a _g_r_i_d _w_i_t_h _c_e_l_l_s _g_r_i_d_w_i_d_t_h _p_i_x_e_l_s _w_i_d_e _a_n_d _g_r_i_d_h_e_i_g_h_t _p_i_x_e_l_s _h_i_g_h_. _<_d_t_> _<_b_>IIccoonnss _{ _w_i_n_-_l_i_s_t _}_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _s_p_e_c_i_f_i_e_s _a _l_i_s_t _o_f _w_i_n_d_o_w _n_a_m_e_s _a_n_d _t_h_e _b_i_t_m_a_p _f_i_l_e_n_a_m_e_s _t_h_a_t _<_d_d_> _s_h_o_u_l_d _b_e _u_s_e_d _a_s _t_h_e_i_r _i_c_o_n_s_. _F_o_r _e_x_a_m_p_l_e_: _<_b_r_>_<_b_r_> _<_b_r_> _<_p_r_e_> IIccoonnss _{ _"_X_T_e_r_m_" _"_x_t_e_r_m_._i_c_o_n_" _"_x_f_d_" _"_x_f_d___i_c_o_n_" _} _<_/_p_r_e_> _<_b_r_>_<_b_r_> _W_i_n_d_o_w_s _t_h_a_t _m_a_t_c_h _`_`_X_T_e_r_m_'_' _a_n_d _w_o_u_l_d _n_o_t _b_e _i_c_o_n_i_f_i_e_d _b_y _u_n_m_a_p_p_i_n_g_, _a_n_d _w_o_u_l_d _t_r_y _t_o _u_s_e _t_h_e _i_c_o_n _b_i_t_m_a_p _i_n _t_h_e _f_i_l_e _`_`_x_t_e_r_m_._i_c_o_n_'_'_. _I_f FFoorrcceeIIccoonnss _i_s _s_p_e_c_i_f_i_e_d_, _t_h_i_s _b_i_t_m_a_p _w_i_l_l _b_e _u_s_e_d _e_v_e_n _i_f _t_h_e _c_l_i_e_n_t _h_a_s _r_e_q_u_e_s_t_e_d _i_t_s _o_w_n _i_c_o_n _p_i_x_m_a_p_. _<_d_t_> _<_b_>IInntteerrppoollaatteeMMeennuuCCoolloorrss_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _i_n_d_i_c_a_t_e_s _t_h_a_t _m_e_n_u _e_n_t_r_y _c_o_l_o_r_s _s_h_o_u_l_d _b_e _i_n_t_e_r_p_o_l_a_t_e_d _b_e_t_w_e_e_n _<_d_d_> _e_n_t_r_y _s_p_e_c_i_f_i_e_d _c_o_l_o_r_s_. _I_n _t_h_e _e_x_a_m_p_l_e _b_e_l_o_w_: _<_b_r_>_<_b_r_> _<_b_r_> _<_p_r_e_> MMeennuu _"_m_y_m_e_n_u_" _{ _"_T_i_t_l_e_" _(_"_b_l_a_c_k_"_:_"_r_e_d_"_)_f_._t_i_t_l_e _"_e_n_t_r_y_1_" _f_._n_o_p _"_e_n_t_r_y_2_" _f_._n_o_p _"_e_n_t_r_y_3_" _(_"_w_h_i_t_e_"_:_"_g_r_e_e_n_"_)_f_._n_o_p _"_e_n_t_r_y_4_" _f_._n_o_p _"_e_n_t_r_y_5_" _(_"_r_e_d_"_:_"_w_h_i_t_e_"_)_f_._n_o_p _} _<_/_p_r_e_> _<_b_r_>_<_b_r_> _t_h_e _f_o_r_e_g_r_o_u_n_d _c_o_l_o_r_s _f_o_r _`_`_e_n_t_r_y_1_'_' _a_n_d _`_`_e_n_t_r_y_2_'_' _w_i_l_l _b_e _i_n_t_e_r_p_o_l_a_t_e_d _b_e_t_w_e_e_n _b_l_a_c_k _a_n_d _w_h_i_t_e_, _a_n_d _t_h_e _b_a_c_k_g_r_o_u_n_d _c_o_l_o_r_s _b_e_t_w_e_e_n _r_e_d _a_n_d _g_r_e_e_n_. _S_i_m_i_l_a_r_l_y_, _t_h_e _f_o_r_e_g_r_o_u_n_d _f_o_r _`_`_e_n_t_r_y_4_'_' _w_i_l_l _b_e _h_a_l_f_-_w_a_y _b_e_t_w_e_e_n _w_h_i_t_e _a_n_d _r_e_d_, _a_n_d _t_h_e _b_a_c_k_g_r_o_u_n_d _w_i_l_l _b_e _h_a_l_f_-_w_a_y _b_e_t_w_e_e_n _g_r_e_e_n _a_n_d _w_h_i_t_e_. _<_d_t_> _<_b_>MMaakkeeTTiittllee _{ _w_i_n_-_l_i_s_t _}_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _s_p_e_c_i_f_i_e_s _a _l_i_s_t _o_f _w_i_n_d_o_w_s _o_n _w_h_i_c_h _a _t_i_t_l_e_b_a_r _s_h_o_u_l_d _b_e _p_l_a_c_e_d _<_d_d_> _a_n_d _i_s _u_s_e_d _t_o _r_e_q_u_e_s_t _t_i_t_l_e_s _o_n _s_p_e_c_i_f_i_c _w_i_n_d_o_w_s _w_h_e_n NNooTTiittllee _h_a_s _b_e_e_n _s_e_t_. _<_d_t_> _<_b_>MMaaxxWWiinnddoowwSSiizzee _s_t_r_i_n_g_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _s_p_e_c_i_f_i_e_s _a _g_e_o_m_e_t_r_y _i_n _w_h_i_c_h _t_h_e _w_i_d_t_h _a_n_d _h_e_i_g_h_t _<_d_d_> _g_i_v_e _t_h_e _m_a_x_i_m_u_m _s_i_z_e _f_o_r _a _g_i_v_e_n _w_i_n_d_o_w_. _T_h_i_s _i_s _t_y_p_i_c_a_l_l_y _u_s_e_d _t_o _r_e_s_t_r_i_c_t _w_i_n_d_o_w_s _t_o _t_h_e _s_i_z_e _o_f _t_h_e _s_c_r_e_e_n_. _T_h_e _d_e_f_a_u_l_t _w_i_d_t_h _i_s _3_2_7_6_7 _- _s_c_r_e_e_n _w_i_d_t_h_. _T_h_e _d_e_f_a_u_l_t _h_e_i_g_h_t _i_s _3_2_7_6_7 _- _s_c_r_e_e_n _h_e_i_g_h_t_. _<_d_t_> _<_b_>MMeennuuBBaacckkggrroouunndd _s_t_r_i_n_g_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _s_p_e_c_i_f_i_e_s _t_h_e _b_a_c_k_g_r_o_u_n_d _c_o_l_o_r _u_s_e_d _f_o_r _m_e_n_u_s_, _<_d_d_> _a_n_d _c_a_n _o_n_l_y _b_e _s_p_e_c_i_f_i_e_d _i_n_s_i_d_e _o_f _a CCoolloorr _o_r MMoonnoocchhrroommee _l_i_s_t_. _T_h_e _d_e_f_a_u_l_t _i_s _"_w_h_i_t_e_"_. _<_d_t_> _<_b_>MMeennuuBBoorrddeerrCCoolloorr _s_t_r_i_n_g_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _s_p_e_c_i_f_i_e_s _t_h_e _c_o_l_o_r _o_f _t_h_e _m_e_n_u _b_o_r_d_e_r _a_n_d _c_a_n _o_n_l_y _b_e _s_p_e_c_i_f_i_e_d _<_d_d_> _i_n_s_i_d_e _o_f _a CCoolloorr_, GGrraayyssccaallee _o_r MMoonnoocchhrroommee _l_i_s_t_. _T_h_e _d_e_f_a_u_l_t _i_s _"_b_l_a_c_k_"_. _<_d_t_> _<_b_>MMeennuuBBoorrddeerrWWiiddtthh _p_i_x_e_l_s_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _s_p_e_c_i_f_i_e_s _t_h_e _w_i_d_t_h _i_n _p_i_x_e_l_s _o_f _t_h_e _b_o_r_d_e_r _s_u_r_r_o_u_n_d_i_n_g _<_d_d_> _m_e_n_u _w_i_n_d_o_w_s_. _T_h_e _d_e_f_a_u_l_t _i_s _2_. _<_d_t_> _<_b_>MMeennuuFFoonntt _s_t_r_i_n_g_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _s_p_e_c_i_f_i_e_s _t_h_e _f_o_n_t _t_o _u_s_e _w_h_e_n _d_i_s_p_l_a_y_i_n_g _m_e_n_u_s_. _T_h_e _d_e_f_a_u_l_t _<_d_d_> _i_s _"_v_a_r_i_a_b_l_e_"_. _<_d_t_> _<_b_>MMeennuuFFoorreeggrroouunndd _s_t_r_i_n_g_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _s_p_e_c_i_f_i_e_s _t_h_e _f_o_r_e_g_r_o_u_n_d _c_o_l_o_r _u_s_e_d _f_o_r _m_e_n_u_s_, _<_d_d_> _a_n_d _c_a_n _o_n_l_y _b_e _s_p_e_c_i_f_i_e_d _i_n_s_i_d_e _o_f _a CCoolloorr_, GGrraayyssccaallee _o_r MMoonnoocchhrroommee _l_i_s_t_. _T_h_e _d_e_f_a_u_l_t _i_s _"_b_l_a_c_k_"_. _<_d_t_> _<_b_>MMeennuuSShhaaddoowwCCoolloorr _s_t_r_i_n_g_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _s_p_e_c_i_f_i_e_s _t_h_e _c_o_l_o_r _o_f _t_h_e _s_h_a_d_o_w _b_e_h_i_n_d _p_u_l_l_-_d_o_w_n _m_e_n_u_s _<_d_d_> _a_n_d _c_a_n _o_n_l_y _b_e _s_p_e_c_i_f_i_e_d _i_n_s_i_d_e _o_f _a CCoolloorr_, GGrraayyssccaallee _o_r MMoonnoocchhrroommee _l_i_s_t_. _T_h_e _d_e_f_a_u_l_t _i_s _"_b_l_a_c_k_"_. _<_d_t_> _<_b_>MMeennuuTTiittlleeBBaacckkggrroouunndd _s_t_r_i_n_g_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _s_p_e_c_i_f_i_e_s _t_h_e _b_a_c_k_g_r_o_u_n_d _c_o_l_o_r _f_o_r ff..ttiittllee _e_n_t_r_i_e_s _i_n _<_d_d_> _m_e_n_u_s_, _a_n_d _c_a_n _o_n_l_y _b_e _s_p_e_c_i_f_i_e_d _i_n_s_i_d_e _o_f _a CCoolloorr_, GGrraayyssccaallee _o_r MMoonnoocchhrroommee _l_i_s_t_. _T_h_e _d_e_f_a_u_l_t _i_s _"_w_h_i_t_e_"_. _<_d_t_> _<_b_>MMeennuuTTiittlleeFFoorreeggrroouunndd _s_t_r_i_n_g_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _s_p_e_c_i_f_i_e_s _t_h_e _f_o_r_e_g_r_o_u_n_d _c_o_l_o_r _f_o_r ff..ttiittllee _e_n_t_r_i_e_s _i_n _<_d_d_> _m_e_n_u_s _a_n_d _c_a_n _o_n_l_y _b_e _s_p_e_c_i_f_i_e_d _i_n_s_i_d_e _o_f _a CCoolloorr _o_r MMoonnoocchhrroommee _l_i_s_t_. _T_h_e _d_e_f_a_u_l_t _i_s _"_b_l_a_c_k_"_. _<_d_t_> _<_b_>MMoonnoocchhrroommee _{ _c_o_l_o_r_s _}_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _s_p_e_c_i_f_i_e_s _a _l_i_s_t _o_f _c_o_l_o_r _a_s_s_i_g_n_m_e_n_t_s _t_h_a_t _s_h_o_u_l_d _b_e _m_a_d_e _i_f _<_d_d_> _t_h_e _s_c_r_e_e_n _h_a_s _a _d_e_p_t_h _o_f _1_. _S_e_e _t_h_e _d_e_s_c_r_i_p_t_i_o_n _o_f CCoolloorrss_. _<_d_t_> _<_b_>MMoovveeDDeellttaa _p_i_x_e_l_s_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _s_p_e_c_i_f_i_e_s _t_h_e _n_u_m_b_e_r _o_f _p_i_x_e_l_s _t_h_e _p_o_i_n_t_e_r _<_d_d_> _m_u_s_t _m_o_v_e _b_e_f_o_r_e _t_h_e ff..mmoovvee _f_u_n_c_t_i_o_n _s_t_a_r_t_s _w_o_r_k_i_n_g_. _A_l_s_o _s_e_e _t_h_e ff..ddeellttaassttoopp _f_u_n_c_t_i_o_n_. _T_h_e _d_e_f_a_u_l_t _i_s _z_e_r_o _p_i_x_e_l_s_. _<_d_t_> _<_b_>NNooBBaacckkiinnggSSttoorree_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _i_n_d_i_c_a_t_e_s _t_h_a_t _t_w_m_'_s _m_e_n_u_s _s_h_o_u_l_d _n_o_t _r_e_q_u_e_s_t _b_a_c_k_i_n_g _<_d_d_> _s_t_o_r_e _t_o _m_i_n_i_m_i_z_e _r_e_p_a_i_n_t_i_n_g _o_f _m_e_n_u_s_. _T_h_i_s _i_s _t_y_p_i_c_a_l_l_y _u_s_e_d _w_i_t_h _s_e_r_v_e_r_s _t_h_a_t _c_a_n _r_e_p_a_i_n_t _f_a_s_t_e_r _t_h_a_n _t_h_e_y _c_a_n _h_a_n_d_l_e _b_a_c_k_i_n_g _s_t_o_r_e_. _<_d_t_> _<_b_>NNooCCaasseeSSeennssiittiivvee_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _i_n_d_i_c_a_t_e_s _t_h_a_t _c_a_s_e _s_h_o_u_l_d _b_e _i_g_n_o_r_e_d _w_h_e_n _s_o_r_t_i_n_g _i_c_o_n _n_a_m_e_s _<_d_d_> _i_n _a_n _i_c_o_n _m_a_n_a_g_e_r_. _T_h_i_s _o_p_t_i_o_n _i_s _t_y_p_i_c_a_l_l_y _u_s_e_d _w_i_t_h _a_p_p_l_i_c_a_t_i_o_n_s _t_h_a_t _c_a_p_i_t_a_l_i_z_e _t_h_e _f_i_r_s_t _l_e_t_t_e_r _o_f _t_h_e_i_r _i_c_o_n _n_a_m_e_. _<_d_t_> _<_b_>NNooDDeeffaauullttss_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _i_n_d_i_c_a_t_e_s _t_h_a_t _t_w_m _s_h_o_u_l_d _n_o_t _s_u_p_p_l_y _t_h_e _d_e_f_a_u_l_t _<_d_d_> _t_i_t_l_e_b_u_t_t_o_n_s _a_n_d _b_i_n_d_i_n_g_s_. _T_h_i_s _o_p_t_i_o_n _s_h_o_u_l_d _o_n_l_y _b_e _u_s_e_d _i_f _t_h_e _s_t_a_r_t_u_p _f_i_l_e _c_o_n_t_a_i_n_s _a _c_o_m_p_l_e_t_e_l_y _n_e_w _s_e_t _o_f _b_i_n_d_i_n_g_s _a_n_d _d_e_f_i_n_i_t_i_o_n_s_. _<_d_t_> _<_b_>NNooGGrraabbSSeerrvveerr_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _i_n_d_i_c_a_t_e_s _t_h_a_t _t_w_m _s_h_o_u_l_d _n_o_t _g_r_a_b _t_h_e _s_e_r_v_e_r _<_d_d_> _w_h_e_n _p_o_p_p_i_n_g _u_p _m_e_n_u_s _a_n_d _m_o_v_i_n_g _o_p_a_q_u_e _w_i_n_d_o_w_s_. _<_d_t_> _<_b_>NNooHHiigghhlliigghhtt _[_{ _w_i_n_-_l_i_s_t _}_]_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _i_n_d_i_c_a_t_e_s _t_h_a_t _b_o_r_d_e_r_s _s_h_o_u_l_d _n_o_t _b_e _h_i_g_h_l_i_g_h_t_e_d _t_o _t_r_a_c_k _t_h_e _<_d_d_> _l_o_c_a_t_i_o_n _o_f _t_h_e _p_o_i_n_t_e_r_. _I_f _t_h_e _o_p_t_i_o_n_a_l _w_i_n_-_l_i_s_t _i_s _g_i_v_e_n_, _h_i_g_h_l_i_g_h_t_i_n_g _w_i_l_l _o_n_l_y _b_e _d_i_s_a_b_l_e_d _f_o_r _t_h_o_s_e _w_i_n_d_o_w_s_. _W_h_e_n _t_h_e _b_o_r_d_e_r _i_s _h_i_g_h_l_i_g_h_t_e_d_, _i_t _w_i_l_l _b_e _d_r_a_w_n _i_n _t_h_e _c_u_r_r_e_n_t BBoorrddeerrCCoolloorr_. _W_h_e_n _t_h_e _b_o_r_d_e_r _i_s _n_o_t _h_i_g_h_l_i_g_h_t_e_d_, _i_t _w_i_l_l _b_e _s_t_i_p_p_l_e_d _w_i_t_h _a _g_r_a_y _p_a_t_t_e_r_n _u_s_i_n_g _t_h_e _c_u_r_r_e_n_t BBoorrddeerrTTiilleeFFoorreeggrroouunndd _a_n_d BBoorrddeerrTTiilleeBBaacckkggrroouunndd _c_o_l_o_r_s_. _<_d_t_> _<_b_>NNooIIccoonnMMaannaaggeerrss_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _i_n_d_i_c_a_t_e_s _t_h_a_t _n_o _i_c_o_n _m_a_n_a_g_e_r _s_h_o_u_l_d _b_e _c_r_e_a_t_e_d_. _<_d_d_> _<_d_t_> _<_b_>NNooMMeennuuSShhaaddoowwss_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _i_n_d_i_c_a_t_e_s _t_h_a_t _m_e_n_u_s _s_h_o_u_l_d _n_o_t _h_a_v_e _d_r_o_p _s_h_a_d_o_w_s _d_r_a_w_n _b_e_h_i_n_d _<_d_d_> _t_h_e_m_. _T_h_i_s _i_s _t_y_p_i_c_a_l_l_y _u_s_e_d _w_i_t_h _s_l_o_w_e_r _s_e_r_v_e_r_s _s_i_n_c_e _i_t _s_p_e_e_d_s _u_p _m_e_n_u _d_r_a_w_i_n_g _a_t _t_h_e _e_x_p_e_n_s_e _o_f _m_a_k_i_n_g _t_h_e _m_e_n_u _s_l_i_g_h_t_l_y _h_a_r_d_e_r _t_o _r_e_a_d_. _<_d_t_> _<_b_>NNooRRaaiisseeOOnnDDeeiiccoonniiffyy_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _i_n_d_i_c_a_t_e_s _t_h_a_t _w_i_n_d_o_w_s _t_h_a_t _a_r_e _d_e_i_c_o_n_i_f_i_e_d _s_h_o_u_l_d _n_o_t _b_e _<_d_d_> _r_a_i_s_e_d_. _<_d_t_> _<_b_>NNooRRaaiisseeOOnnMMoovvee_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _i_n_d_i_c_a_t_e_s _t_h_a_t _w_i_n_d_o_w_s _s_h_o_u_l_d _n_o_t _b_e _r_a_i_s_e_d _w_h_e_n _m_o_v_e_d_. _T_h_i_s _<_d_d_> _i_s _t_y_p_i_c_a_l_l_y _u_s_e_d _t_o _a_l_l_o_w _w_i_n_d_o_w_s _t_o _s_l_i_d_e _u_n_d_e_r_n_e_a_t_h _e_a_c_h _o_t_h_e_r_. _<_d_t_> _<_b_>NNooRRaaiisseeOOnnRReessiizzee_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _i_n_d_i_c_a_t_e_s _t_h_a_t _w_i_n_d_o_w_s _s_h_o_u_l_d _n_o_t _b_e _r_a_i_s_e_d _w_h_e_n _r_e_s_i_z_e_d_. _T_h_i_s _<_d_d_> _i_s _t_y_p_i_c_a_l_l_y _u_s_e_d _t_o _a_l_l_o_w _w_i_n_d_o_w_s _t_o _b_e _r_e_s_i_z_e_d _u_n_d_e_r_n_e_a_t_h _e_a_c_h _o_t_h_e_r_. _<_d_t_> _<_b_>NNooRRaaiisseeOOnnWWaarrpp_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _i_n_d_i_c_a_t_e_s _t_h_a_t _w_i_n_d_o_w_s _s_h_o_u_l_d _n_o_t _b_e _r_a_i_s_e_d _w_h_e_n _t_h_e _p_o_i_n_t_e_r _<_d_d_> _i_s _w_a_r_p_e_d _i_n_t_o _t_h_e_m _w_i_t_h _t_h_e ff..wwaarrppttoo _f_u_n_c_t_i_o_n_. _I_f _t_h_i_s _o_p_t_i_o_n _i_s _s_e_t_, _w_a_r_p_i_n_g _t_o _a_n _o_c_c_l_u_d_e_d _w_i_n_d_o_w _m_a_y _r_e_s_u_l_t _i_n _t_h_e _p_o_i_n_t_e_r _e_n_d_i_n_g _u_p _i_n _t_h_e _o_c_c_l_u_d_i_n_g _w_i_n_d_o_w _i_n_s_t_e_a_d _t_h_e _d_e_s_i_r_e_d _w_i_n_d_o_w _(_w_h_i_c_h _c_a_u_s_e_s _u_n_e_x_p_e_c_t_e_d _b_e_h_a_v_i_o_r _w_i_t_h ff..wwaarrpprriinngg_)_. _<_d_t_> _<_b_>NNooSSaavveeUUnnddeerrss_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _i_n_d_i_c_a_t_e_s _t_h_a_t _m_e_n_u_s _s_h_o_u_l_d _n_o_t _r_e_q_u_e_s_t _s_a_v_e_-_u_n_d_e_r_s _t_o _m_i_n_i_m_i_z_e _<_d_d_> _w_i_n_d_o_w _r_e_p_a_i_n_t_i_n_g _f_o_l_l_o_w_i_n_g _m_e_n_u _s_e_l_e_c_t_i_o_n_. _I_t _i_s _t_y_p_i_c_a_l_l_y _u_s_e_d _w_i_t_h _d_i_s_p_l_a_y_s _t_h_a_t _c_a_n _r_e_p_a_i_n_t _f_a_s_t_e_r _t_h_a_n _t_h_e_y _c_a_n _h_a_n_d_l_e _s_a_v_e_-_u_n_d_e_r_s_. _<_d_t_> _<_b_>NNooSSttaacckkMMooddee _[_{ _w_i_n_-_l_i_s_t _}_]_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _i_n_d_i_c_a_t_e_s _t_h_a_t _c_l_i_e_n_t _w_i_n_d_o_w _r_e_q_u_e_s_t_s _t_o _c_h_a_n_g_e _s_t_a_c_k_i_n_g _o_r_d_e_r _<_d_d_> _s_h_o_u_l_d _b_e _i_g_n_o_r_e_d_. _I_f _t_h_e _o_p_t_i_o_n_a_l _w_i_n_-_l_i_s_t _i_s _g_i_v_e_n_, _o_n_l_y _r_e_q_u_e_s_t_s _o_n _t_h_o_s_e _w_i_n_d_o_w_s _w_i_l_l _b_e _i_g_n_o_r_e_d_. _T_h_i_s _i_s _t_y_p_i_c_a_l_l_y _u_s_e_d _t_o _p_r_e_v_e_n_t _a_p_p_l_i_c_a_t_i_o_n_s _f_r_o_m _r_e_l_e_n_t_l_e_s_s_l_y _p_o_p_p_i_n_g _t_h_e_m_s_e_l_v_e_s _t_o _t_h_e _f_r_o_n_t _o_f _t_h_e _w_i_n_d_o_w _s_t_a_c_k_. _<_d_t_> _<_b_>NNooTTiittllee _[_{ _w_i_n_-_l_i_s_t _}_] _<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _i_n_d_i_c_a_t_e_s _t_h_a_t _w_i_n_d_o_w_s _s_h_o_u_l_d _n_o_t _h_a_v_e _t_i_t_l_e_b_a_r_s_. _I_f _t_h_e _<_d_d_> _o_p_t_i_o_n_a_l _w_i_n_-_l_i_s_t _i_s _g_i_v_e_n_, _o_n_l_y _t_h_o_s_e _w_i_n_d_o_w_s _w_i_l_l _n_o_t _h_a_v_e _t_i_t_l_e_b_a_r_s_. MMaakkeeTTiittllee _m_a_y _b_e _u_s_e_d _w_i_t_h _t_h_i_s _o_p_t_i_o_n _t_o _f_o_r_c_e _t_i_t_l_e_b_a_r_s _t_o _b_e _p_u_t _o_n _s_p_e_c_i_f_i_c _w_i_n_d_o_w_s_. _<_d_t_> _<_b_>NNooTTiittlleeFFooccuuss_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _i_n_d_i_c_a_t_e_s _t_h_a_t _t_w_m _s_h_o_u_l_d _n_o_t _s_e_t _k_e_y_b_o_a_r_d _i_n_p_u_t _f_o_c_u_s _t_o _<_d_d_> _e_a_c_h _w_i_n_d_o_w _a_s _i_t _i_s _e_n_t_e_r_e_d_. _N_o_r_m_a_l_l_y_, _t_w_m _s_e_t_s _t_h_e _f_o_c_u_s _s_o _t_h_a_t _f_o_c_u_s _a_n_d _k_e_y _e_v_e_n_t_s _f_r_o_m _t_h_e _t_i_t_l_e_b_a_r _a_n_d _i_c_o_n _m_a_n_a_g_e_r_s _a_r_e _d_e_l_i_v_e_r_e_d _t_o _t_h_e _a_p_p_l_i_c_a_t_i_o_n_. _I_f _t_h_e _p_o_i_n_t_e_r _i_s _m_o_v_e_d _q_u_i_c_k_l_y _a_n_d _t_w_m _i_s _s_l_o_w _t_o _r_e_s_p_o_n_d_, _i_n_p_u_t _c_a_n _b_e _d_i_r_e_c_t_e_d _t_o _t_h_e _o_l_d _w_i_n_d_o_w _i_n_s_t_e_a_d _o_f _t_h_e _n_e_w_. _T_h_i_s _o_p_t_i_o_n _i_s _t_y_p_i_c_a_l_l_y _u_s_e_d _t_o _p_r_e_v_e_n_t _t_h_i_s _`_`_i_n_p_u_t _l_a_g_'_' _a_n_d _t_o _w_o_r_k _a_r_o_u_n_d _b_u_g_s _i_n _o_l_d_e_r _a_p_p_l_i_c_a_t_i_o_n_s _t_h_a_t _h_a_v_e _p_r_o_b_l_e_m_s _w_i_t_h _f_o_c_u_s _e_v_e_n_t_s_. _<_d_t_> _<_b_>NNooTTiittlleeHHiigghhlliigghhtt _[_{ _w_i_n_-_l_i_s_t _}_]_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _i_n_d_i_c_a_t_e_s _t_h_a_t _t_h_e _h_i_g_h_l_i_g_h_t _a_r_e_a _o_f _t_h_e _t_i_t_l_e_b_a_r_, _w_h_i_c_h _i_s _<_d_d_> _u_s_e_d _t_o _i_n_d_i_c_a_t_e _t_h_e _w_i_n_d_o_w _t_h_a_t _c_u_r_r_e_n_t_l_y _h_a_s _t_h_e _i_n_p_u_t _f_o_c_u_s_, _s_h_o_u_l_d _n_o_t _b_e _d_i_s_p_l_a_y_e_d_. _I_f _t_h_e _o_p_t_i_o_n_a_l _w_i_n_-_l_i_s_t _i_s _g_i_v_e_n_, _o_n_l_y _t_h_o_s_e _w_i_n_d_o_w_s _w_i_l_l _n_o_t _h_a_v_e _h_i_g_h_l_i_g_h_t _a_r_e_a_s_. _T_h_i_s _a_n_d _t_h_e SSqquueeeezzeeTTiittllee _o_p_t_i_o_n_s _c_a_n _b_e _s_e_t _t_o _s_u_b_s_t_a_n_t_i_a_l_l_y _r_e_d_u_c_e _t_h_e _a_m_o_u_n_t _o_f _s_c_r_e_e_n _s_p_a_c_e _r_e_q_u_i_r_e_d _b_y _t_i_t_l_e_b_a_r_s_. _<_d_t_> _<_b_>OOppaaqquueeMMoovvee_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _i_n_d_i_c_a_t_e_s _t_h_a_t _t_h_e ff..mmoovvee _f_u_n_c_t_i_o_n _s_h_o_u_l_d _a_c_t_u_a_l_l_y _m_o_v_e _<_d_d_> _t_h_e _w_i_n_d_o_w _i_n_s_t_e_a_d _o_f _j_u_s_t _a_n _o_u_t_l_i_n_e _s_o _t_h_a_t _t_h_e _u_s_e_r _c_a_n _i_m_m_e_d_i_a_t_e_l_y _s_e_e _w_h_a_t _t_h_e _w_i_n_d_o_w _w_i_l_l _l_o_o_k _l_i_k_e _i_n _t_h_e _n_e_w _p_o_s_i_t_i_o_n_. _T_h_i_s _o_p_t_i_o_n _i_s _t_y_p_i_c_a_l_l_y _u_s_e_d _o_n _f_a_s_t _d_i_s_p_l_a_y_s _(_p_a_r_t_i_c_u_l_a_r_l_y _i_f NNooGGrraabbSSeerrvveerr _i_s _s_e_t_)_. _<_d_t_> _<_b_>PPiixxmmaappss _{ _p_i_x_m_a_p_s _}_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _s_p_e_c_i_f_i_e_s _a _l_i_s_t _o_f _p_i_x_m_a_p_s _t_h_a_t _d_e_f_i_n_e _t_h_e _a_p_p_e_a_r_a_n_c_e _o_f _v_a_r_i_o_u_s _<_d_d_> _i_m_a_g_e_s_. _E_a_c_h _e_n_t_r_y _i_s _a _k_e_y_w_o_r_d _i_n_d_i_c_a_t_i_n_g _t_h_e _p_i_x_m_a_p _t_o _s_e_t_, _f_o_l_l_o_w_e_d _b_y _a _s_t_r_i_n_g _g_i_v_i_n_g _t_h_e _n_a_m_e _o_f _t_h_e _b_i_t_m_a_p _f_i_l_e_. _T_h_e _f_o_l_l_o_w_i_n_g _p_i_x_m_a_p_s _m_a_y _b_e _s_p_e_c_i_f_i_e_d_: _<_b_r_>_<_b_r_> _<_b_r_> _<_p_r_e_> PPiixxmmaappss _{ _T_i_t_l_e_H_i_g_h_l_i_g_h_t _"_g_r_a_y_1_" _} _<_/_p_r_e_> _<_b_r_>_<_b_r_> _T_h_e _d_e_f_a_u_l_t _f_o_r _T_i_t_l_e_H_i_g_h_l_i_g_h_t _i_s _t_o _u_s_e _a_n _e_v_e_n _s_t_i_p_p_l_e _p_a_t_t_e_r_n_. _<_d_t_> _<_b_>PPrriioorriittyy _p_r_i_o_r_i_t_y_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _s_e_t_s _t_w_m_'_s _p_r_i_o_r_i_t_y_. _p_r_i_o_r_i_t_y _s_h_o_u_l_d _b_e _a_n _<_d_d_> _u_n_q_u_o_t_e_d_, _s_i_g_n_e_d _n_u_m_b_e_r _(_e_._g_. _9_9_9_)_. _T_h_i_s _v_a_r_i_a_b_l_e _h_a_s _a_n _e_f_f_e_c_t _o_n_l_y _i_f _t_h_e _s_e_r_v_e_r _s_u_p_p_o_r_t_s _t_h_e _S_Y_N_C _e_x_t_e_n_s_i_o_n_. _<_d_t_> _<_b_>RRaannddoommPPllaacceemmeenntt_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _i_n_d_i_c_a_t_e_s _t_h_a_t _w_i_n_d_o_w_s _w_i_t_h _n_o _s_p_e_c_i_f_i_e_d _g_e_o_m_e_t_r_y _s_h_o_u_l_d _<_d_d_> _b_e _p_l_a_c_e_d _i_n _a _p_s_e_u_d_o_-_r_a_n_d_o_m _l_o_c_a_t_i_o_n _i_n_s_t_e_a_d _o_f _h_a_v_i_n_g _t_h_e _u_s_e_r _d_r_a_g _o_u_t _a_n _o_u_t_l_i_n_e_. _<_d_t_> _<_b_>RReessiizzeeFFoonntt _s_t_r_i_n_g_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _s_p_e_c_i_f_i_e_s _t_h_e _f_o_n_t _t_o _b_e _u_s_e_d _f_o_r _i_n _t_h_e _d_i_m_e_n_s_i_o_n_s _w_i_n_d_o_w _w_h_e_n _<_d_d_> _r_e_s_i_z_i_n_g _w_i_n_d_o_w_s_. _T_h_e _d_e_f_a_u_l_t _i_s _"_f_i_x_e_d_"_. _<_d_t_> _<_b_>RReessttaarrttPPrreevviioouussSSttaattee_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _i_n_d_i_c_a_t_e_s _t_h_a_t _<_d_d_> _t_w_m _s_h_o_u_l_d _a_t_t_e_m_p_t _t_o _u_s_e _t_h_e _W_M___S_T_A_T_E _p_r_o_p_e_r_t_y _o_n _c_l_i_e_n_t _w_i_n_d_o_w_s _t_o _t_e_l_l _w_h_i_c_h _w_i_n_d_o_w_s _s_h_o_u_l_d _b_e _i_c_o_n_i_f_i_e_d _a_n_d _w_h_i_c_h _s_h_o_u_l_d _b_e _l_e_f_t _v_i_s_i_b_l_e_. _T_h_i_s _i_s _t_y_p_i_c_a_l_l_y _u_s_e_d _t_o _t_r_y _t_o _r_e_g_e_n_e_r_a_t_e _t_h_e _s_t_a_t_e _t_h_a_t _t_h_e _s_c_r_e_e_n _w_a_s _i_n _b_e_f_o_r_e _t_h_e _p_r_e_v_i_o_u_s _w_i_n_d_o_w _m_a_n_a_g_e_r _w_a_s _s_h_u_t_d_o_w_n_. _<_d_t_> _<_b_>SSaavveeCCoolloorr _{ _c_o_l_o_r_s_-_l_i_s_t _}_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _i_n_d_i_c_a_t_e_s _a _l_i_s_t _o_f _c_o_l_o_r _a_s_s_i_g_n_m_e_n_t_s _t_o _b_e _s_t_o_r_e_d _a_s _p_i_x_e_l _<_d_d_> _v_a_l_u_e_s _i_n _t_h_e _r_o_o_t _w_i_n_d_o_w _p_r_o_p_e_r_t_y ___M_I_T___P_R_I_O_R_I_T_Y___C_O_L_O_R_S_. _C_l_i_e_n_t_s _m_a_y _e_l_e_c_t _t_o _p_r_e_s_e_r_v_e _t_h_e_s_e _v_a_l_u_e_s _w_h_e_n _i_n_s_t_a_l_l_i_n_g _t_h_e_i_r _o_w_n _c_o_l_o_r_m_a_p_. _N_o_t_e _t_h_a_t _u_s_e _o_f _t_h_i_s _m_e_c_h_a_n_i_s_m _i_s _a _w_a_y _a_n _f_o_r _a_p_p_l_i_c_a_t_i_o_n _t_o _a_v_o_i_d _t_h_e _"_t_e_c_h_n_i_c_o_l_o_r_" _p_r_o_b_l_e_m_, _w_h_e_r_e_b_y _u_s_e_f_u_l _s_c_r_e_e_n _o_b_j_e_c_t_s _s_u_c_h _a_s _w_i_n_d_o_w _b_o_r_d_e_r_s _a_n_d _t_i_t_l_e_b_a_r_s _d_i_s_a_p_p_e_a_r _w_h_e_n _a _p_r_o_g_r_a_m_s _c_u_s_t_o_m _c_o_l_o_r_s _a_r_e _i_n_s_t_a_l_l_e_d _b_y _t_h_e _w_i_n_d_o_w _m_a_n_a_g_e_r_. _F_o_r _e_x_a_m_p_l_e_: _<_b_r_>_<_b_r_> _<_b_r_> _<_p_r_e_> SSaavveeCCoolloorr _{ _B_o_r_d_e_r_C_o_l_o_r _T_i_t_l_e_B_a_c_k_g_r_o_u_n_d _T_i_t_l_e_F_o_r_e_g_r_o_u_n_d _"_r_e_d_" _"_g_r_e_e_n_" _"_b_l_u_e_" _} _<_/_p_r_e_> _<_b_r_>_<_b_r_> _T_h_i_s _w_o_u_l_d _p_l_a_c_e _o_n _t_h_e _r_o_o_t _w_i_n_d_o_w _3 _p_i_x_e_l _v_a_l_u_e_s _f_o_r _b_o_r_d_e_r_s _a_n_d _t_i_t_l_e_b_a_r_s_, _a_s _w_e_l_l _a_s _t_h_e _t_h_r_e_e _c_o_l_o_r _s_t_r_i_n_g_s_, _a_l_l _t_a_k_e_n _f_r_o_m _t_h_e _d_e_f_a_u_l_t _c_o_l_o_r_m_a_p_. _<_d_t_> _<_b_>SShhoowwIIccoonnMMaannaaggeerr_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _i_n_d_i_c_a_t_e_s _t_h_a_t _t_h_e _i_c_o_n _m_a_n_a_g_e_r _w_i_n_d_o_w _s_h_o_u_l_d _b_e _d_i_s_p_l_a_y_e_d _w_h_e_n _<_d_d_> _t_w_m _i_s _s_t_a_r_t_e_d_. _I_t _c_a_n _a_l_w_a_y_s _b_e _b_r_o_u_g_h_t _u_p _u_s_i_n_g _t_h_e ff..sshhoowwiiccoonnmmggrr _f_u_n_c_t_i_o_n_. _<_d_t_> _<_b_>SSoorrttIIccoonnMMaannaaggeerr_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _i_n_d_i_c_a_t_e_s _t_h_a_t _e_n_t_r_i_e_s _i_n _t_h_e _i_c_o_n _m_a_n_a_g_e_r _s_h_o_u_l_d _b_e _<_d_d_> _s_o_r_t_e_d _a_l_p_h_a_b_e_t_i_c_a_l_l_y _r_a_t_h_e_r _t_h_a_n _b_y _s_i_m_p_l_y _a_p_p_e_n_d_i_n_g _n_e_w _w_i_n_d_o_w_s _t_o _t_h_e _e_n_d_. _<_d_t_> _<_b_>SSqquueeeezzeeTTiittllee _[_{ _s_q_u_e_e_z_e_-_l_i_s_t _}_] _<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _i_n_d_i_c_a_t_e_s _t_h_a_t _t_w_m _s_h_o_u_l_d _a_t_t_e_m_p_t _t_o _u_s_e _t_h_e _S_H_A_P_E _<_d_d_> _e_x_t_e_n_s_i_o_n _t_o _m_a_k_e _t_i_t_l_e_b_a_r_s _o_c_c_u_p_y _o_n_l_y _a_s _m_u_c_h _s_c_r_e_e_n _s_p_a_c_e _a_s _t_h_e_y _n_e_e_d_, _r_a_t_h_e_r _t_h_a_n _e_x_t_e_n_d_i_n_g _a_l_l _t_h_e _w_a_y _a_c_r_o_s_s _t_h_e _t_o_p _o_f _t_h_e _w_i_n_d_o_w_. _T_h_e _o_p_t_i_o_n_a_l _s_q_u_e_e_z_e_-_l_i_s_t _m_a_y _b_e _u_s_e_d _t_o _c_o_n_t_r_o_l _t_h_e _l_o_c_a_t_i_o_n _o_f _t_h_e _s_q_u_e_e_z_e_d _t_i_t_l_e_b_a_r _a_l_o_n_g _t_h_e _t_o_p _o_f _t_h_e _w_i_n_d_o_w_. _I_t _c_o_n_t_a_i_n_s _e_n_t_r_i_e_s _o_f _t_h_e _f_o_r_m_: _<_b_r_>_<_b_r_> _<_b_r_> _<_p_r_e_> _"_n_a_m_e_" _j_u_s_t_i_f_i_c_a_t_i_o_n_n_u_m_d_e_n_o_m _<_/_p_r_e_> _<_b_r_>_<_b_r_> _w_h_e_r_e _n_a_m_e _i_s _a _w_i_n_d_o_w _n_a_m_e_, _j_u_s_t_i_f_i_c_a_t_i_o_n _i_s _e_i_t_h_e_r lleefftt_, cceenntteerr_, _o_r rriigghhtt_, _a_n_d _n_u_m _a_n_d _d_e_n_o_m _a_r_e _n_u_m_b_e_r_s _s_p_e_c_i_f_y_i_n_g _a _r_a_t_i_o _g_i_v_i_n_g _t_h_e _r_e_l_a_t_i_v_e _p_o_s_i_t_i_o_n _a_b_o_u_t _w_h_i_c_h _t_h_e _t_i_t_l_e_b_a_r _i_s _j_u_s_t_i_f_i_e_d_. _T_h_e _r_a_t_i_o _i_s _m_e_a_s_u_r_e_d _f_r_o_m _l_e_f_t _t_o _r_i_g_h_t _i_f _t_h_e _n_u_m_e_r_a_t_o_r _i_s _p_o_s_i_t_i_v_e_, _a_n_d _r_i_g_h_t _t_o _l_e_f_t _i_f _n_e_g_a_t_i_v_e_. _A _d_e_n_o_m_i_n_a_t_o_r _o_f _0 _i_n_d_i_c_a_t_e_s _t_h_a_t _t_h_e _n_u_m_e_r_a_t_o_r _s_h_o_u_l_d _b_e _m_e_a_s_u_r_e_d _i_n _p_i_x_e_l_s_. _F_o_r _c_o_n_v_e_n_i_e_n_c_e_, _t_h_e _r_a_t_i_o _0_/_0 _i_s _t_h_e _s_a_m_e _a_s _1_/_2 _f_o_r cceenntteerr _a_n_d _-_1_/_1 _f_o_r rriigghhtt_. _F_o_r _e_x_a_m_p_l_e_: _<_b_r_>_<_b_r_> _<_b_r_> _<_p_r_e_> SSqquueeeezzeeTTiittllee _{ _"_X_T_e_r_m_" _l_e_f_t _0_0 _"_x_t_e_r_m_1_" _l_e_f_t _1_3 _"_x_t_e_r_m_2_" _l_e_f_t _2_3 _"_o_c_l_o_c_k_" _c_e_n_t_e_r_0_0 _"_e_m_a_c_s_" _r_i_g_h_t _0_0 _} _<_/_p_r_e_> _<_b_r_>_<_b_r_> _T_h_e DDoonnttSSqquueeeezzeeTTiittllee _l_i_s_t _c_a_n _b_e _u_s_e_d _t_o _t_u_r_n _o_f_f _s_q_u_e_e_z_i_n_g _o_n _c_e_r_t_a_i_n _t_i_t_l_e_s_. _<_d_t_> _<_b_>SSttaarrttIIccoonniiffiieedd _[_{ _w_i_n_-_l_i_s_t _}_] _<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _i_n_d_i_c_a_t_e_s _t_h_a_t _c_l_i_e_n_t _w_i_n_d_o_w_s _s_h_o_u_l_d _i_n_i_t_i_a_l_l_y _b_e _l_e_f_t _a_s _<_d_d_> _i_c_o_n_s _u_n_t_i_l _e_x_p_l_i_c_i_t_l_y _d_e_i_c_o_n_i_f_i_e_d _b_y _t_h_e _u_s_e_r_. _I_f _t_h_e _o_p_t_i_o_n_a_l _w_i_n_-_l_i_s_t _i_s _g_i_v_e_n_, _o_n_l_y _t_h_o_s_e _w_i_n_d_o_w_s _w_i_l_l _b_e _s_t_a_r_t_e_d _i_c_o_n_i_c_. _T_h_i_s _i_s _u_s_e_f_u_l _f_o_r _p_r_o_g_r_a_m_s _t_h_a_t _d_o _n_o_t _s_u_p_p_o_r_t _a_n _-_i_c_o_n_i_c _c_o_m_m_a_n_d _l_i_n_e _o_p_t_i_o_n _o_r _r_e_s_o_u_r_c_e_. _<_d_t_> _<_b_>TTiittlleeBBaacckkggrroouunndd _s_t_r_i_n_g _[_{ _w_i_n_-_l_i_s_t _}_]_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _s_p_e_c_i_f_i_e_s _t_h_e _b_a_c_k_g_r_o_u_n_d _c_o_l_o_r _u_s_e_d _i_n _t_i_t_l_e_b_a_r_s_, _<_d_d_> _a_n_d _m_a_y _o_n_l_y _b_e _s_p_e_c_i_f_i_e_d _i_n_s_i_d_e _o_f _a CCoolloorr_, GGrraayyssccaallee _o_r MMoonnoocchhrroommee _l_i_s_t_. _T_h_e _o_p_t_i_o_n_a_l _w_i_n_-_l_i_s_t _i_s _a _l_i_s_t _o_f _w_i_n_d_o_w _n_a_m_e_s _a_n_d _c_o_l_o_r_s _s_o _t_h_a_t _p_e_r_-_w_i_n_d_o_w _c_o_l_o_r_s _m_a_y _b_e _s_p_e_c_i_f_i_e_d_. _T_h_e _d_e_f_a_u_l_t _i_s _"_w_h_i_t_e_"_. _<_d_t_> _<_b_>TTiittlleeBBuuttttoonnBBoorrddeerrWWiiddtthh _p_i_x_e_l_s_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _s_p_e_c_i_f_i_e_s _t_h_e _w_i_d_t_h _i_n _p_i_x_e_l_s _o_f _t_h_e _b_o_r_d_e_r _s_u_r_r_o_u_n_d_i_n_g _<_d_d_> _t_i_t_l_e_b_u_t_t_o_n_s_. _T_h_i_s _i_s _t_y_p_i_c_a_l_l_y _s_e_t _t_o _0 _t_o _a_l_l_o_w _t_i_t_l_e_b_u_t_t_o_n_s _t_o _t_a_k_e _u_p _a_s _m_u_c_h _s_p_a_c_e _a_s _p_o_s_s_i_b_l_e _a_n_d _t_o _n_o_t _h_a_v_e _a _b_o_r_d_e_r_. _T_h_e _d_e_f_a_u_l_t _i_s _1_. _<_d_t_> _<_b_>TTiittlleeFFoonntt _s_t_r_i_n_g_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _s_p_e_c_i_f_i_e_s _t_h_e _f_o_n_t _t_o _b_e _u_s_e_d _f_o_r _d_i_s_p_l_a_y_i_n_g _w_i_n_d_o_w _n_a_m_e_s _i_n _<_d_d_> _t_i_t_l_e_b_a_r_s_. _T_h_e _d_e_f_a_u_l_t _i_s _"_v_a_r_i_a_b_l_e_"_. _<_d_t_> _<_b_>TTiittlleeFFoorreeggrroouunndd _s_t_r_i_n_g _[_{ _w_i_n_-_l_i_s_t _}_]_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _s_p_e_c_i_f_i_e_s _t_h_e _f_o_r_e_g_r_o_u_n_d _c_o_l_o_r _u_s_e_d _i_n _t_i_t_l_e_b_a_r_s_, _a_n_d _<_d_d_> _m_a_y _o_n_l_y _b_e _s_p_e_c_i_f_i_e_d _i_n_s_i_d_e _o_f _a CCoolloorr_, GGrraayyssccaallee _o_r MMoonnoocchhrroommee _l_i_s_t_. _T_h_e _o_p_t_i_o_n_a_l _w_i_n_-_l_i_s_t _i_s _a _l_i_s_t _o_f _w_i_n_d_o_w _n_a_m_e_s _a_n_d _c_o_l_o_r_s _s_o _t_h_a_t _p_e_r_-_w_i_n_d_o_w _c_o_l_o_r_s _m_a_y _b_e _s_p_e_c_i_f_i_e_d_. _T_h_e _d_e_f_a_u_l_t _i_s _"_b_l_a_c_k_"_. _<_d_t_> _<_b_>TTiittlleeIInnddeenntt _p_i_x_e_l_s_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _s_p_e_c_i_f_i_e_s _t_h_e _a_m_o_u_n_t _b_y _w_h_i_c_h _w_i_n_d_o_w _n_a_m_e _s_h_o_u_l_d _b_e _<_d_d_> _i_n_d_e_n_t_e_d _o_n _t_h_e _l_e_f_t_. _T_h_e _d_e_f_a_u_l_t _i_s _0_. _<_d_t_> _<_b_>TTiittlleePPaaddddiinngg _p_i_x_e_l_s_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _s_p_e_c_i_f_i_e_s _t_h_e _d_i_s_t_a_n_c_e _b_e_t_w_e_e_n _t_h_e _v_a_r_i_o_u_s _b_u_t_t_o_n_s_, _t_e_x_t_, _a_n_d _<_d_d_> _h_i_g_h_l_i_g_h_t _a_r_e_a_s _i_n _t_h_e _t_i_t_l_e_b_a_r_. _T_h_e _d_e_f_a_u_l_t _i_s _8 _p_i_x_e_l_s_. _<_d_t_> _<_b_>UUnnkknnoowwnnIIccoonn _s_t_r_i_n_g_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _s_p_e_c_i_f_i_e_s _t_h_e _f_i_l_e_n_a_m_e _o_f _a _b_i_t_m_a_p _f_i_l_e _t_o _b_e _<_d_d_> _u_s_e_d _a_s _t_h_e _d_e_f_a_u_l_t _i_c_o_n_. _T_h_i_s _b_i_t_m_a_p _w_i_l_l _b_e _u_s_e_d _a_s _t_h_e _i_c_o_n _o_f _a_l_l _c_l_i_e_n_t_s _w_h_i_c_h _d_o _n_o_t _p_r_o_v_i_d_e _a_n _i_c_o_n _b_i_t_m_a_p _a_n_d _a_r_e _n_o_t _l_i_s_t_e_d _i_n _t_h_e IIccoonnss _l_i_s_t_. _<_d_t_> _<_b_>UUsseePPPPoossiittiioonn _s_t_r_i_n_g_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _s_p_e_c_i_f_i_e_s _w_h_e_t_h_e_r _o_r _n_o_t _t_w_m _s_h_o_u_l_d _h_o_n_o_r _<_d_d_> _p_r_o_g_r_a_m_-_r_e_q_u_e_s_t_e_d _l_o_c_a_t_i_o_n_s _(_g_i_v_e_n _b_y _t_h_e PPPPoossiittiioonn _f_l_a_g _i_n _t_h_e _W_M___N_O_R_M_A_L___H_I_N_T_S _p_r_o_p_e_r_t_y_) _i_n _t_h_e _a_b_s_e_n_c_e _o_f _a _u_s_e_r_-_s_p_e_c_i_f_i_e_d _p_o_s_i_t_i_o_n_. _T_h_e _a_r_g_u_m_e_n_t _s_t_r_i_n_g _m_a_y _h_a_v_e _o_n_e _o_f _t_h_r_e_e _v_a_l_u_e_s_: ""ooffff"" _(_t_h_e _d_e_f_a_u_l_t_) _i_n_d_i_c_a_t_i_n_g _t_h_a_t _t_w_m _s_h_o_u_l_d _i_g_n_o_r_e _t_h_e _p_r_o_g_r_a_m_-_s_u_p_p_l_i_e_d _p_o_s_i_t_i_o_n_, ""oonn"" _i_n_d_i_c_a_t_i_n_g _t_h_a_t _t_h_e _p_o_s_i_t_i_o_n _s_h_o_u_l_d _b_e _u_s_e_d_, _a_n_d ""nnoonn--zzeerroo"" _i_n_d_i_c_a_t_i_n_g _t_h_a_t _t_h_e _p_o_s_i_t_i_o_n _s_h_o_u_l_d _u_s_e_d _i_f _i_t _i_s _o_t_h_e_r _t_h_a_n _(_0_,_0_)_. _T_h_e _l_a_t_t_e_r _o_p_t_i_o_n _i_s _f_o_r _w_o_r_k_i_n_g _a_r_o_u_n_d _a _b_u_g _i_n _o_l_d_e_r _t_o_o_l_k_i_t_s_. _<_d_t_> _<_b_>WWaarrppCCuurrssoorr _[_{ _w_i_n_-_l_i_s_t _}_]_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _i_n_d_i_c_a_t_e_s _t_h_a_t _t_h_e _p_o_i_n_t_e_r _s_h_o_u_l_d _b_e _w_a_r_p_e_d _i_n_t_o _w_i_n_d_o_w_s _w_h_e_n _<_d_d_> _t_h_e_y _a_r_e _d_e_i_c_o_n_i_f_i_e_d_. _I_f _t_h_e _o_p_t_i_o_n_a_l _w_i_n_-_l_i_s_t _i_s _g_i_v_e_n_, _t_h_e _p_o_i_n_t_e_r _w_i_l_l _o_n_l_y _b_e _w_a_r_p_e_d _w_h_e_n _t_h_o_s_e _w_i_n_d_o_w_s _a_r_e _d_e_i_c_o_n_i_f_i_e_d_. _<_d_t_> _<_b_>WWiinnddoowwRRiinngg _{ _w_i_n_-_l_i_s_t _}_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _s_p_e_c_i_f_i_e_s _a _l_i_s_t _o_f _w_i_n_d_o_w_s _a_l_o_n_g _w_h_i_c_h _t_h_e ff..wwaarrpprriinngg _<_d_d_> _f_u_n_c_t_i_o_n _c_y_c_l_e_s_. _<_d_t_> _<_b_>WWaarrppUUnnmmaappppeedd_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _i_n_d_i_c_a_t_e_s _t_h_a_t _t_h_e ff..wwaarrppttoo _f_u_n_c_t_i_o_n _s_h_o_u_l_d _d_e_i_c_o_n_i_f_y _<_d_d_> _a_n_y _i_c_o_n_i_f_i_e_d _w_i_n_d_o_w_s _i_t _e_n_c_o_u_n_t_e_r_s_. _T_h_i_s _i_s _t_y_p_i_c_a_l_l_y _u_s_e_d _t_o _m_a_k_e _a _k_e_y _b_i_n_d_i_n_g _t_h_a_t _w_i_l_l _p_o_p _a _p_a_r_t_i_c_u_l_a_r _w_i_n_d_o_w _(_s_u_c_h _a_s _x_m_h_)_, _n_o _m_a_t_t_e_r _w_h_e_r_e _i_t _i_s_. _T_h_e _d_e_f_a_u_l_t _i_s _f_o_r ff..wwaarrppttoo _t_o _i_g_n_o_r_e _i_c_o_n_i_f_i_e_d _w_i_n_d_o_w_s_. _<_d_t_> _<_b_>XXoorrVVaalluuee _n_u_m_b_e_r_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _s_p_e_c_i_f_i_e_s _t_h_e _v_a_l_u_e _t_o _u_s_e _w_h_e_n _d_r_a_w_i_n_g _w_i_n_d_o_w _o_u_t_l_i_n_e_s _f_o_r _<_d_d_> _m_o_v_i_n_g _a_n_d _r_e_s_i_z_i_n_g_. _T_h_i_s _s_h_o_u_l_d _b_e _s_e_t _t_o _a _v_a_l_u_e _t_h_a_t _w_i_l_l _r_e_s_u_l_t _i_n _a _v_a_r_i_e_t_y _o_f _o_f _d_i_s_t_i_n_g_u_i_s_h_a_b_l_e _c_o_l_o_r_s _w_h_e_n _e_x_c_l_u_s_i_v_e_-_o_r_'_e_d _w_i_t_h _t_h_e _c_o_n_t_e_n_t_s _o_f _t_h_e _u_s_e_r_'_s _t_y_p_i_c_a_l _s_c_r_e_e_n_. _S_e_t_t_i_n_g _t_h_i_s _v_a_r_i_a_b_l_e _t_o _1 _o_f_t_e_n _g_i_v_e_s _n_i_c_e _r_e_s_u_l_t_s _i_f _a_d_j_a_c_e_n_t _c_o_l_o_r_s _i_n _t_h_e _d_e_f_a_u_l_t _c_o_l_o_r_m_a_p _a_r_e _d_i_s_t_i_n_c_t_. _B_y _d_e_f_a_u_l_t_, _t_w_m _w_i_l_l _a_t_t_e_m_p_t _t_o _c_a_u_s_e _t_e_m_p_o_r_a_r_y _l_i_n_e_s _t_o _a_p_p_e_a_r _a_t _t_h_e _o_p_p_o_s_i_t_e _e_n_d _o_f _t_h_e _c_o_l_o_r_m_a_p _f_r_o_m _t_h_e _g_r_a_p_h_i_c_s_. _<_d_t_> _<_b_>ZZoooomm _[ _c_o_u_n_t _]_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _i_n_d_i_c_a_t_e_s _t_h_a_t _o_u_t_l_i_n_e_s _s_u_g_g_e_s_t_i_n_g _m_o_v_e_m_e_n_t _o_f _a _w_i_n_d_o_w _<_d_d_> _t_o _a_n_d _f_r_o_m _i_t_s _i_c_o_n_i_f_i_e_d _s_t_a_t_e _s_h_o_u_l_d _b_e _d_i_s_p_l_a_y_e_d _w_h_e_n_e_v_e_r _a _w_i_n_d_o_w _i_s _i_c_o_n_i_f_i_e_d _o_r _d_e_i_c_o_n_i_f_i_e_d_. _T_h_e _o_p_t_i_o_n_a_l _c_o_u_n_t _a_r_g_u_m_e_n_t _s_p_e_c_i_f_i_e_s _t_h_e _n_u_m_b_e_r _o_f _o_u_t_l_i_n_e_s _t_o _b_e _d_r_a_w_n_. _T_h_e _d_e_f_a_u_l_t _c_o_u_n_t _i_s _8_. _<_/_d_l_> _<_p_> _T_h_e _f_o_l_l_o_w_i_n_g _v_a_r_i_a_b_l_e_s _m_u_s_t _b_e _s_e_t _a_f_t_e_r _t_h_e _f_o_n_t_s _h_a_v_e _b_e_e_n _a_s_s_i_g_n_e_d_, _s_o _i_t _i_s _u_s_u_a_l_l_y _b_e_s_t _t_o _p_u_t _t_h_e_m _a_t _t_h_e _e_n_d _o_f _t_h_e _v_a_r_i_a_b_l_e_s _o_r _b_e_g_i_n_n_i_n_g _o_f _t_h_e _b_i_n_d_i_n_g_s _s_e_c_t_i_o_n_s_: _<_d_l _c_o_m_p_a_c_t_> _<_d_t_> _<_b_>DDeeffaauullttFFuunnccttiioonn _f_u_n_c_t_i_o_n_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _s_p_e_c_i_f_i_e_s _t_h_e _f_u_n_c_t_i_o_n _t_o _b_e _e_x_e_c_u_t_e_d _w_h_e_n _a _k_e_y _o_r _b_u_t_t_o_n _<_d_d_> _e_v_e_n_t _i_s _r_e_c_e_i_v_e_d _f_o_r _w_h_i_c_h _n_o _b_i_n_d_i_n_g _i_s _p_r_o_v_i_d_e_d_. _T_h_i_s _i_s _t_y_p_i_c_a_l_l_y _b_o_u_n_d _t_o ff..nnoopp_, ff..bbeeeepp_, _o_r _a _m_e_n_u _c_o_n_t_a_i_n_i_n_g _w_i_n_d_o_w _o_p_e_r_a_t_i_o_n_s_. _<_d_t_> _<_b_>WWiinnddoowwFFuunnccttiioonn _f_u_n_c_t_i_o_n_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _s_p_e_c_i_f_i_e_s _t_h_e _f_u_n_c_t_i_o_n _t_o _e_x_e_c_u_t_e _w_h_e_n _a _w_i_n_d_o_w _i_s _s_e_l_e_c_t_e_d _<_d_d_> _f_r_o_m _t_h_e TTwwmmWWiinnddoowwss _m_e_n_u_. _I_f _t_h_i_s _v_a_r_i_a_b_l_e _i_s _n_o_t _s_e_t_, _t_h_e _w_i_n_d_o_w _w_i_l_l _b_e _d_e_i_c_o_n_i_f_i_e_d _a_n_d _r_a_i_s_e_d_. _<_/_d_l_> _<_h_3 _i_d_=_"_B_I_N_D_I_N_G_S_"_> _B_I_N_D_I_N_G_S _<_/_h_3_> _<_p_> _A_f_t_e_r _t_h_e _d_e_s_i_r_e_d _v_a_r_i_a_b_l_e_s _h_a_v_e _b_e_e_n _s_e_t_, _f_u_n_c_t_i_o_n_s _m_a_y _b_e _a_t_t_a_c_h_e_d _t_i_t_l_e_b_u_t_t_o_n_s _a_n_d _k_e_y _a_n_d _p_o_i_n_t_e_r _b_u_t_t_o_n_s_. _T_i_t_l_e_b_u_t_t_o_n_s _m_a_y _b_e _a_d_d_e_d _f_r_o_m _t_h_e _l_e_f_t _o_r _r_i_g_h_t _s_i_d_e _a_n_d _a_p_p_e_a_r _i_n _t_h_e _t_i_t_l_e_b_a_r _f_r_o_m _l_e_f_t_-_t_o_-_r_i_g_h_t _a_c_c_o_r_d_i_n_g _t_o _t_h_e _o_r_d_e_r _i_n _w_h_i_c_h _t_h_e_y _a_r_e _s_p_e_c_i_f_i_e_d_. _K_e_y _a_n_d _p_o_i_n_t_e_r _b_u_t_t_o_n _b_i_n_d_i_n_g_s _m_a_y _b_e _g_i_v_e_n _i_n _a_n_y _o_r_d_e_r_. _<_p_> _T_i_t_l_e_b_u_t_t_o_n_s _s_p_e_c_i_f_i_c_a_t_i_o_n_s _m_u_s_t _i_n_c_l_u_d_e _t_h_e _n_a_m_e _o_f _t_h_e _p_i_x_m_a_p _t_o _u_s_e _i_n _t_h_e _b_u_t_t_o_n _b_o_x _a_n_d _t_h_e _f_u_n_c_t_i_o_n _t_o _b_e _i_n_v_o_k_e_d _w_h_e_n _a _p_o_i_n_t_e_r _b_u_t_t_o_n _i_s _p_r_e_s_s_e_d _w_i_t_h_i_n _t_h_e_m_: _<_b_r_>_<_b_r_> _<_b_r_> _<_p_r_e_> LLeeffttTTiittlleeBBuuttttoonn _"_b_i_t_m_a_p_n_a_m_e_"_= _f_u_n_c_t_i_o_n _<_/_p_r_e_> _<_b_r_>_<_b_r_> _o_r _<_b_r_>_<_b_r_> _<_b_r_> _<_p_r_e_> RRiigghhttTTiittlleeBBuuttttoonn _"_b_i_t_m_a_p_n_a_m_e_"_= _f_u_n_c_t_i_o_n _<_/_p_r_e_> _<_b_r_>_<_b_r_> _T_h_e _b_i_t_m_a_p_n_a_m_e _m_a_y _r_e_f_e_r _t_o _o_n_e _o_f _t_h_e _b_u_i_l_t_-_i_n _b_i_t_m_a_p_s _(_w_h_i_c_h _a_r_e _s_c_a_l_e_d _t_o _m_a_t_c_h TTiittlleeFFoonntt_) _b_y _u_s_i_n_g _t_h_e _a_p_p_r_o_p_r_i_a_t_e _c_o_l_o_n_-_p_r_e_f_i_x_e_d _n_a_m_e _d_e_s_c_r_i_b_e_d _a_b_o_v_e_. _<_p_> _K_e_y _a_n_d _p_o_i_n_t_e_r _b_u_t_t_o_n _s_p_e_c_i_f_i_c_a_t_i_o_n_s _m_u_s_t _g_i_v_e _t_h_e _m_o_d_i_f_i_e_r_s _t_h_a_t _m_u_s_t _b_e _p_r_e_s_s_e_d_, _o_v_e_r _w_h_i_c_h _p_a_r_t_s _o_f _t_h_e _s_c_r_e_e_n _t_h_e _p_o_i_n_t_e_r _m_u_s_t _b_e_, _a_n_d _w_h_a_t _f_u_n_c_t_i_o_n _i_s _t_o _b_e _i_n_v_o_k_e_d_. _K_e_y_s _a_r_e _g_i_v_e_n _a_s _s_t_r_i_n_g_s _c_o_n_t_a_i_n_i_n_g _t_h_e _a_p_p_r_o_p_r_i_a_t_e _k_e_y_s_y_m _n_a_m_e_; _b_u_t_t_o_n_s _a_r_e _g_i_v_e_n _a_s _t_h_e _k_e_y_w_o_r_d_s BBuuttttoonn11_-BBuuttttoonn55_: _<_b_r_>_<_b_r_> _<_b_r_> _<_p_r_e_> _"_F_P_1_" _= _m_o_d_l_i_s_t _: _c_o_n_t_e_x_t _: _f_u_n_c_t_i_o_n BBuuttttoonn11 _= _m_o_d_l_i_s_t _: _c_o_n_t_e_x_t _: _f_u_n_c_t_i_o_n _<_/_p_r_e_> _<_b_r_>_<_b_r_> _T_h_e _m_o_d_l_i_s_t _i_s _a_n_y _c_o_m_b_i_n_a_t_i_o_n _o_f _t_h_e _m_o_d_i_f_i_e_r _n_a_m_e_s sshhiifftt_, ccoonnttrrooll_, lloocckk_, mmeettaa_, mmoodd11_, mmoodd22_, mmoodd33_, mmoodd44_, _o_r mmoodd55 _(_w_h_i_c_h _m_a_y _b_e _a_b_b_r_e_v_i_a_t_e_d _a_s ss_, cc_, ll_, mm_, mm11_, mm22_, mm33_, mm44_, mm55_, _r_e_s_p_e_c_t_i_v_e_l_y_) _s_e_p_a_r_a_t_e_d _b_y _a _v_e_r_t_i_c_a_l _b_a_r _(_|_)_. _S_i_m_i_l_a_r_l_y_, _t_h_e _c_o_n_t_e_x_t _i_s _a_n_y _c_o_m_b_i_n_a_t_i_o_n _o_f wwiinnddooww_, ttiittllee_, iiccoonn_, rroooott_, ffrraammee_, iiccoonnmmggrr_, _t_h_e_i_r _f_i_r_s_t _l_e_t_t_e_r_s _(iiccoonnmmggrr _a_b_b_r_e_v_i_a_t_i_o_n _i_s mm_)_, _o_r aallll_, _s_e_p_a_r_a_t_e_d _b_y _a _v_e_r_t_i_c_a_l _b_a_r_. _T_h_e _f_u_n_c_t_i_o_n _i_s _a_n_y _o_f _t_h_e ff.. _k_e_y_w_o_r_d_s _d_e_s_c_r_i_b_e_d _b_e_l_o_w_. _F_o_r _e_x_a_m_p_l_e_, _t_h_e _d_e_f_a_u_l_t _s_t_a_r_t_u_p _f_i_l_e _c_o_n_t_a_i_n_s _t_h_e _f_o_l_l_o_w_i_n_g _b_i_n_d_i_n_g_s_: _<_b_r_>_<_b_r_> _<_b_r_> _<_p_r_e_> _B_u_t_t_o_n_1 _= _: _r_o_o_t_: _f_._m_e_n_u _"_T_w_m_W_i_n_d_o_w_s_" _B_u_t_t_o_n_1 _= _m _: _w_i_n_d_o_w _| _i_c_o_n_: _f_._f_u_n_c_t_i_o_n _"_m_o_v_e_-_o_r_-_l_o_w_e_r_" _B_u_t_t_o_n_2 _= _m _: _w_i_n_d_o_w _| _i_c_o_n_: _f_._i_c_o_n_i_f_y _B_u_t_t_o_n_3 _= _m _: _w_i_n_d_o_w _| _i_c_o_n_: _f_._f_u_n_c_t_i_o_n _"_m_o_v_e_-_o_r_-_r_a_i_s_e_" _B_u_t_t_o_n_1 _= _: _t_i_t_l_e_: _f_._f_u_n_c_t_i_o_n _"_m_o_v_e_-_o_r_-_r_a_i_s_e_" _B_u_t_t_o_n_2 _= _: _t_i_t_l_e_: _f_._r_a_i_s_e_l_o_w_e_r _B_u_t_t_o_n_1 _= _: _i_c_o_n_: _f_._f_u_n_c_t_i_o_n _"_m_o_v_e_-_o_r_-_i_c_o_n_i_f_y_" _B_u_t_t_o_n_2 _= _: _i_c_o_n_: _f_._i_c_o_n_i_f_y _B_u_t_t_o_n_1 _= _: _i_c_o_n_m_g_r_: _f_._i_c_o_n_i_f_y _B_u_t_t_o_n_2 _= _: _i_c_o_n_m_g_r_: _f_._i_c_o_n_i_f_y _<_/_p_r_e_> _<_b_r_>_<_b_r_> _A _u_s_e_r _w_h_o _w_a_n_t_e_d _t_o _b_e _a_b_l_e _t_o _m_a_n_i_p_u_l_a_t_e _w_i_n_d_o_w_s _f_r_o_m _t_h_e _k_e_y_b_o_a_r_d _c_o_u_l_d _u_s_e _t_h_e _f_o_l_l_o_w_i_n_g _b_i_n_d_i_n_g_s_: _<_b_r_>_<_b_r_> _<_b_r_> _<_p_r_e_> _"_F_1_" _= _: _a_l_l _: _f_._i_c_o_n_i_f_y _"_F_2_" _= _: _a_l_l _: _f_._r_a_i_s_e_l_o_w_e_r _"_F_3_" _= _: _a_l_l _: _f_._w_a_r_p_r_i_n_g _"_n_e_x_t_" _"_F_4_" _= _: _a_l_l _: _f_._w_a_r_p_t_o _"_x_m_h_" _"_F_5_" _= _: _a_l_l _: _f_._w_a_r_p_t_o _"_e_m_a_c_s_" _"_F_6_" _= _: _a_l_l _: _f_._c_o_l_o_r_m_a_p _"_n_e_x_t_" _"_F_7_" _= _: _a_l_l _: _f_._c_o_l_o_r_m_a_p _"_d_e_f_a_u_l_t_" _"_F_2_0_" _= _: _a_l_l _: _f_._w_a_r_p_t_o_s_c_r_e_e_n _"_n_e_x_t_" _"_L_e_f_t_" _= _m _: _a_l_l_: _f_._b_a_c_k_i_c_o_n_m_g_r _"_R_i_g_h_t_" _= _m _| _s _: _a_l_l_: _f_._f_o_r_w_i_c_o_n_m_g_r _"_U_p_" _= _m _: _a_l_l _: _f_._u_p_i_c_o_n_m_g_r _"_D_o_w_n_" _= _m _| _s _: _a_l_l_: _f_._d_o_w_n_i_c_o_n_m_g_r _<_/_p_r_e_> _<_b_r_>_<_b_r_> _T_w_m _p_r_o_v_i_d_e_s _m_a_n_y _m_o_r_e _w_i_n_d_o_w _m_a_n_i_p_u_l_a_t_i_o_n _p_r_i_m_i_t_i_v_e_s _t_h_a_n _c_a_n _b_e _c_o_n_v_e_n_i_e_n_t_l_y _s_t_o_r_e_d _i_n _a _t_i_t_l_e_b_a_r_, _m_e_n_u_, _o_r _s_e_t _o_f _k_e_y _b_i_n_d_i_n_g_s_. _A_l_t_h_o_u_g_h _a _s_m_a_l_l _s_e_t _o_f _d_e_f_a_u_l_t_s _a_r_e _s_u_p_p_l_i_e_d _(_u_n_l_e_s_s _t_h_e NNooDDeeffaauullttss _i_s _s_p_e_c_i_f_i_e_d_)_, _m_o_s_t _u_s_e_r_s _w_i_l_l _w_a_n_t _t_o _h_a_v_e _t_h_e_i_r _m_o_s_t _c_o_m_m_o_n _o_p_e_r_a_t_i_o_n_s _b_o_u_n_d _t_o _k_e_y _a_n_d _b_u_t_t_o_n _s_t_r_o_k_e_s_. _T_o _d_o _t_h_i_s_, _t_w_m _a_s_s_o_c_i_a_t_e_s _n_a_m_e_s _w_i_t_h _e_a_c_h _o_f _t_h_e _p_r_i_m_i_t_i_v_e_s _a_n_d _p_r_o_v_i_d_e_s _u_s_e_r_-_d_e_f_i_n_e_d _f_u_n_c_t_i_o_n_s _f_o_r _b_u_i_l_d_i_n_g _h_i_g_h_e_r _l_e_v_e_l _p_r_i_m_i_t_i_v_e_s _a_n_d _m_e_n_u_s _f_o_r _i_n_t_e_r_a_c_t_i_v_e_l_y _s_e_l_e_c_t_i_n_g _a_m_o_n_g _g_r_o_u_p_s _o_f _f_u_n_c_t_i_o_n_s_. _<_p_> _U_s_e_r_-_d_e_f_i_n_e_d _f_u_n_c_t_i_o_n_s _c_o_n_t_a_i_n _t_h_e _n_a_m_e _b_y _w_h_i_c_h _t_h_e_y _a_r_e _r_e_f_e_r_e_n_c_e_d _i_n _c_a_l_l_s _t_o ff..ffuunnccttiioonn _a_n_d _a _l_i_s_t _o_f _o_t_h_e_r _f_u_n_c_t_i_o_n_s _t_o _e_x_e_c_u_t_e_. _F_o_r _e_x_a_m_p_l_e_: _<_b_r_>_<_b_r_> _<_b_r_> _<_p_r_e_> _F_u_n_c_t_i_o_n _"_m_o_v_e_-_o_r_-_l_o_w_e_r_"_{ _f_._m_o_v_e _f_._d_e_l_t_a_s_t_o_p _f_._l_o_w_e_r _} _F_u_n_c_t_i_o_n _"_m_o_v_e_-_o_r_-_r_a_i_s_e_"_{ _f_._m_o_v_e _f_._d_e_l_t_a_s_t_o_p _f_._r_a_i_s_e _} _F_u_n_c_t_i_o_n _"_m_o_v_e_-_o_r_-_i_c_o_n_i_f_y_"_{ _f_._m_o_v_e _f_._d_e_l_t_a_s_t_o_p _f_._i_c_o_n_i_f_y _} _F_u_n_c_t_i_o_n _"_r_e_s_t_o_r_e_-_c_o_l_o_r_m_a_p_"_{ _f_._c_o_l_o_r_m_a_p _"_d_e_f_a_u_l_t_" _f_._l_o_w_e_r _} _<_/_p_r_e_> _<_b_r_>_<_b_r_> _T_h_e _f_u_n_c_t_i_o_n _n_a_m_e _m_u_s_t _b_e _u_s_e_d _i_n ff..ffuunnccttiioonn _e_x_a_c_t_l_y _a_s _i_t _a_p_p_e_a_r_s _i_n _t_h_e _f_u_n_c_t_i_o_n _s_p_e_c_i_f_i_c_a_t_i_o_n_. _<_p_> _I_n _t_h_e _d_e_s_c_r_i_p_t_i_o_n_s _b_e_l_o_w_, _i_f _t_h_e _f_u_n_c_t_i_o_n _i_s _s_a_i_d _t_o _o_p_e_r_a_t_e _o_n _t_h_e _s_e_l_e_c_t_e_d _w_i_n_d_o_w_, _b_u_t _i_s _i_n_v_o_k_e_d _f_r_o_m _a _r_o_o_t _m_e_n_u_, _t_h_e _c_u_r_s_o_r _w_i_l_l _b_e _c_h_a_n_g_e_d _t_o _t_h_e SSeelleecctt _c_u_r_s_o_r _a_n_d _t_h_e _n_e_x_t _w_i_n_d_o_w _t_o _r_e_c_e_i_v_e _a _b_u_t_t_o_n _p_r_e_s_s _w_i_l_l _b_e _c_h_o_s_e_n_: _<_d_l _c_o_m_p_a_c_t_> _<_d_t_> _<_b_>!! _s_t_r_i_n_g_<_/_b_> _T_h_i_s _i_s _a_n _a_b_b_r_e_v_i_a_t_i_o_n _f_o_r ff..eexxeecc _s_t_r_i_n_g_. _<_d_d_> _<_d_t_> _<_b_>ff..aauuttoorraaiissee_<_/_b_> _T_h_i_s _f_u_n_c_t_i_o_n _t_o_g_g_l_e_s _w_h_e_t_h_e_r _o_r _n_o_t _t_h_e _s_e_l_e_c_t_e_d _w_i_n_d_o_w _i_s _r_a_i_s_e_d _w_h_e_n_e_v_e_r _<_d_d_> _e_n_t_e_r_e_d _b_y _t_h_e _p_o_i_n_t_e_r_. _S_e_e _t_h_e _d_e_s_c_r_i_p_t_i_o_n _o_f _t_h_e _v_a_r_i_a_b_l_e AAuuttooRRaaiissee_. _<_d_t_> _<_b_>ff..bbaacckkiiccoonnmmggrr_<_/_b_> _T_h_i_s _f_u_n_c_t_i_o_n _w_a_r_p_s _t_h_e _p_o_i_n_t_e_r _t_o _t_h_e _p_r_e_v_i_o_u_s _c_o_l_u_m_n _i_n _t_h_e _<_d_d_> _c_u_r_r_e_n_t _i_c_o_n _m_a_n_a_g_e_r_, _w_r_a_p_p_i_n_g _b_a_c_k _t_o _t_h_e _p_r_e_v_i_o_u_s _r_o_w _i_f _n_e_c_e_s_s_a_r_y_. _<_d_t_> _<_b_>ff..bbeeeepp_<_/_b_> _T_h_i_s _f_u_n_c_t_i_o_n _s_o_u_n_d_s _t_h_e _k_e_y_b_o_a_r_d _b_e_l_l_. _<_d_d_> _<_d_t_> _<_b_>ff..bboottttoommzzoooomm_<_/_b_> _T_h_i_s _f_u_n_c_t_i_o_n _i_s _s_i_m_i_l_a_r _t_o _t_h_e ff..ffuullllzzoooomm _f_u_n_c_t_i_o_n_, _b_u_t _<_d_d_> _r_e_s_i_z_e_s _t_h_e _w_i_n_d_o_w _t_o _f_i_l_l _o_n_l_y _t_h_e _b_o_t_t_o_m _h_a_l_f _o_f _t_h_e _s_c_r_e_e_n_. _<_d_t_> _<_b_>ff..cciirrcclleeddoowwnn_<_/_b_> _T_h_i_s _f_u_n_c_t_i_o_n _l_o_w_e_r_s _t_h_e _t_o_p_-_m_o_s_t _w_i_n_d_o_w _t_h_a_t _o_c_c_l_u_d_e_s _a_n_o_t_h_e_r _w_i_n_d_o_w_. _<_d_d_> _<_d_t_> _<_b_>ff..cciirrcclleeuupp_<_/_b_> _T_h_i_s _f_u_n_c_t_i_o_n _r_a_i_s_e_s _t_h_e _b_o_t_t_o_m_-_m_o_s_t _w_i_n_d_o_w _t_h_a_t _i_s _o_c_c_l_u_d_e_d _b_y _a_n_o_t_h_e_r _w_i_n_d_o_w_. _<_d_d_> _<_d_t_> _<_b_>ff..ccoolloorrmmaapp _s_t_r_i_n_g_<_/_b_> _T_h_i_s _f_u_n_c_t_i_o_n _r_o_t_a_t_e_s _t_h_e _c_o_l_o_r_m_a_p_s _(_o_b_t_a_i_n_e_d _f_r_o_m _t_h_e _W_M___C_O_L_O_R_M_A_P___W_I_N_D_O_W_S _<_d_d_> _p_r_o_p_e_r_t_y _o_n _t_h_e _w_i_n_d_o_w_) _t_h_a_t _t_w_m _w_i_l_l _d_i_s_p_l_a_y _w_h_e_n _t_h_e _p_o_i_n_t_e_r _i_s _i_n _t_h_i_s _w_i_n_d_o_w_. _T_h_e _a_r_g_u_m_e_n_t _s_t_r_i_n_g _m_a_y _h_a_v_e _o_n_e _o_f _t_h_e _f_o_l_l_o_w_i_n_g _v_a_l_u_e_s_: ""nneexxtt""_, ""pprreevv""_, _a_n_d ""ddeeffaauulltt""_. _I_t _s_h_o_u_l_d _b_e _n_o_t_e_d _h_e_r_e _t_h_a_t _i_n _g_e_n_e_r_a_l_, _t_h_e _i_n_s_t_a_l_l_e_d _c_o_l_o_r_m_a_p _i_s _d_e_t_e_r_m_i_n_e_d _b_y _k_e_y_b_o_a_r_d _f_o_c_u_s_. _A _p_o_i_n_t_e_r _d_r_i_v_e_n _k_e_y_b_o_a_r_d _f_o_c_u_s _w_i_l_l _i_n_s_t_a_l_l _a _p_r_i_v_a_t_e _c_o_l_o_r_m_a_p _u_p_o_n _e_n_t_r_y _o_f _t_h_e _w_i_n_d_o_w _o_w_n_i_n_g _t_h_e _c_o_l_o_r_m_a_p_. _U_s_i_n_g _t_h_e _c_l_i_c_k _t_o _t_y_p_e _m_o_d_e_l_, _p_r_i_v_a_t_e _c_o_l_o_r_m_a_p_s _w_i_l_l _n_o_t _b_e _i_n_s_t_a_l_l_e_d _u_n_t_i_l _t_h_e _u_s_e_r _p_r_e_s_s_e_s _a _m_o_u_s_e _b_u_t_t_o_n _o_n _t_h_e _t_a_r_g_e_t _w_i_n_d_o_w_. _<_d_t_> _<_b_>ff..ddeeiiccoonniiffyy_<_/_b_> _T_h_i_s _f_u_n_c_t_i_o_n _d_e_i_c_o_n_i_f_i_e_s _t_h_e _s_e_l_e_c_t_e_d _w_i_n_d_o_w_. _I_f _t_h_e _w_i_n_d_o_w _i_s _n_o_t _a_n _i_c_o_n_, _<_d_d_> _t_h_i_s _f_u_n_c_t_i_o_n _d_o_e_s _n_o_t_h_i_n_g_. _<_d_t_> _<_b_>ff..ddeelleettee_<_/_b_> _T_h_i_s _f_u_n_c_t_i_o_n _s_e_n_d_s _t_h_e _W_M___D_E_L_E_T_E___W_I_N_D_O_W _m_e_s_s_a_g_e _t_o _t_h_e _s_e_l_e_c_t_e_d _w_i_n_d_o_w _i_f _<_d_d_> _t_h_e _c_l_i_e_n_t _a_p_p_l_i_c_a_t_i_o_n _h_a_s _r_e_q_u_e_s_t_e_d _i_t _t_h_r_o_u_g_h _t_h_e _W_M___P_R_O_T_O_C_O_L_S _w_i_n_d_o_w _p_r_o_p_e_r_t_y_. _T_h_e _a_p_p_l_i_c_a_t_i_o_n _i_s _s_u_p_p_o_s_e_d _t_o _r_e_s_p_o_n_d _t_o _t_h_e _m_e_s_s_a_g_e _b_y _r_e_m_o_v_i_n_g _t_h_e _i_n_d_i_c_a_t_e_d _w_i_n_d_o_w_. _I_f _t_h_e _w_i_n_d_o_w _h_a_s _n_o_t _r_e_q_u_e_s_t_e_d _W_M___D_E_L_E_T_E___W_I_N_D_O_W _m_e_s_s_a_g_e_s_, _t_h_e _k_e_y_b_o_a_r_d _b_e_l_l _w_i_l_l _b_e _r_u_n_g _i_n_d_i_c_a_t_i_n_g _t_h_a_t _t_h_e _u_s_e_r _s_h_o_u_l_d _c_h_o_o_s_e _a_n _a_l_t_e_r_n_a_t_i_v_e _m_e_t_h_o_d_. _N_o_t_e _t_h_i_s _i_s _v_e_r_y _d_i_f_f_e_r_e_n_t _f_r_o_m _f_._d_e_s_t_r_o_y_. _T_h_e _i_n_t_e_n_t _h_e_r_e _i_s _t_o _d_e_l_e_t_e _a _s_i_n_g_l_e _w_i_n_d_o_w_, _n_o_t _n_e_c_e_s_s_a_r_i_l_y _t_h_e _e_n_t_i_r_e _a_p_p_l_i_c_a_t_i_o_n_. _<_d_t_> _<_b_>ff..ddeellttaassttoopp_<_/_b_> _T_h_i_s _f_u_n_c_t_i_o_n _a_l_l_o_w_s _a _u_s_e_r_-_d_e_f_i_n_e_d _f_u_n_c_t_i_o_n _t_o _b_e _a_b_o_r_t_e_d _i_f _t_h_e _p_o_i_n_t_e_r _h_a_s _<_d_d_> _b_e_e_n _m_o_v_e_d _m_o_r_e _t_h_a_n _M_o_v_e_D_e_l_t_a _p_i_x_e_l_s_. _S_e_e _t_h_e _e_x_a_m_p_l_e _d_e_f_i_n_i_t_i_o_n _g_i_v_e_n _f_o_r FFuunnccttiioonn ""mmoovvee--oorr--rraaiissee"" _a_t _t_h_e _b_e_g_i_n_n_i_n_g _o_f _t_h_e _s_e_c_t_i_o_n_. _<_d_t_> _<_b_>ff..ddeessttrrooyy_<_/_b_> _T_h_i_s _f_u_n_c_t_i_o_n _i_n_s_t_r_u_c_t_s _t_h_e _X _s_e_r_v_e_r _t_o _c_l_o_s_e _t_h_e _d_i_s_p_l_a_y _c_o_n_n_e_c_t_i_o_n _o_f _t_h_e _<_d_d_> _c_l_i_e_n_t _t_h_a_t _c_r_e_a_t_e_d _t_h_e _s_e_l_e_c_t_e_d _w_i_n_d_o_w_. _T_h_i_s _s_h_o_u_l_d _o_n_l_y _b_e _u_s_e_d _a_s _a _l_a_s_t _r_e_s_o_r_t _f_o_r _s_h_u_t_t_i_n_g _d_o_w_n _r_u_n_a_w_a_y _c_l_i_e_n_t_s_. _S_e_e _a_l_s_o _f_._d_e_l_e_t_e_. _<_d_t_> _<_b_>ff..ddoowwnniiccoonnmmggrr_<_/_b_> _T_h_i_s _f_u_n_c_t_i_o_n _w_a_r_p_s _t_h_e _p_o_i_n_t_e_r _t_o _t_h_e _n_e_x_t _r_o_w _i_n _t_h_e _c_u_r_r_e_n_t _i_c_o_n _m_a_n_g_e_r_, _<_d_d_> _w_r_a_p_p_i_n_g _t_o _t_h_e _b_e_g_i_n_n_i_n_g _o_f _t_h_e _n_e_x_t _c_o_l_u_m_n _i_f _n_e_c_e_s_s_a_r_y_. _<_d_t_> _<_b_>ff..eexxeecc _s_t_r_i_n_g_<_/_b_> _T_h_i_s _f_u_n_c_t_i_o_n _p_a_s_s_e_s _t_h_e _a_r_g_u_m_e_n_t _s_t_r_i_n_g _t_o _/_b_i_n_/_s_h _f_o_r _e_x_e_c_u_t_i_o_n_. _<_d_d_> _I_n _m_u_l_t_i_s_c_r_e_e_n _m_o_d_e_, _i_f _s_t_r_i_n_g _s_t_a_r_t_s _a _n_e_w _X _c_l_i_e_n_t _w_i_t_h_o_u_t _g_i_v_i_n_g _a _d_i_s_p_l_a_y _a_r_g_u_m_e_n_t_, _t_h_e _c_l_i_e_n_t _w_i_l_l _a_p_p_e_a_r _o_n _t_h_e _s_c_r_e_e_n _f_r_o_m _w_h_i_c_h _t_h_i_s _f_u_n_c_t_i_o_n _w_a_s _i_n_v_o_k_e_d_. _<_d_t_> _<_b_>ff..ffooccuuss_<_/_b_> _T_h_i_s _f_u_n_c_t_i_o_n _t_o_g_g_l_e_s _t_h_e _k_e_y_b_o_a_r_d _f_o_c_u_s _o_f _t_h_e _s_e_r_v_e_r _t_o _t_h_e _<_d_d_> _s_e_l_e_c_t_e_d _w_i_n_d_o_w_, _c_h_a_n_g_i_n_g _t_h_e _f_o_c_u_s _r_u_l_e _f_r_o_m _p_o_i_n_t_e_r_-_d_r_i_v_e_n _i_f _n_e_c_e_s_s_a_r_y_. _I_f _t_h_e _s_e_l_e_c_t_e_d _w_i_n_d_o_w _a_l_r_e_a_d_y _w_a_s _f_o_c_u_s_e_d_, _t_h_i_s _f_u_n_c_t_i_o_n _e_x_e_c_u_t_e_s _a_n ff..uunnffooccuuss_. _<_d_t_> _<_b_>ff..ffoorrcceemmoovvee_<_/_b_> _T_h_i_s _f_u_n_c_t_i_o_n _i_s _l_i_k_e ff..mmoovvee _e_x_c_e_p_t _t_h_a_t _i_t _i_g_n_o_r_e_s _t_h_e DDoonnttMMoovveeOOffff _<_d_d_> _v_a_r_i_a_b_l_e_. _<_d_t_> _<_b_>ff..ffoorrwwiiccoonnmmggrr_<_/_b_> _T_h_i_s _f_u_n_c_t_i_o_n _w_a_r_p_s _t_h_e _p_o_i_n_t_e_r _t_o _t_h_e _n_e_x_t _c_o_l_u_m_n _i_n _t_h_e _c_u_r_r_e_n_t _i_c_o_n _<_d_d_> _m_a_n_a_g_e_r_, _w_r_a_p_p_i_n_g _t_o _t_h_e _b_e_g_i_n_n_i_n_g _o_f _t_h_e _n_e_x_t _r_o_w _i_f _n_e_c_e_s_s_a_r_y_. _<_d_t_> _<_b_>ff..ffuullllzzoooomm_<_/_b_> _T_h_i_s _f_u_n_c_t_i_o_n _r_e_s_i_z_e_s _t_h_e _s_e_l_e_c_t_e_d _w_i_n_d_o_w _t_o _t_h_e _f_u_l_l _s_i_z_e _o_f _t_h_e _d_i_s_p_l_a_y _o_r _<_d_d_> _e_l_s_e _r_e_s_t_o_r_e_s _t_h_e _o_r_i_g_i_n_a_l _s_i_z_e _i_f _t_h_e _w_i_n_d_o_w _w_a_s _a_l_r_e_a_d_y _z_o_o_m_e_d_. _<_d_t_> _<_b_>ff..ffuunnccttiioonn _s_t_r_i_n_g_<_/_b_> _T_h_i_s _f_u_n_c_t_i_o_n _e_x_e_c_u_t_e_s _t_h_e _u_s_e_r_-_d_e_f_i_n_e_d _f_u_n_c_t_i_o_n _w_h_o_s_e _n_a_m_e _i_s _s_p_e_c_i_f_i_e_d _<_d_d_> _b_y _t_h_e _a_r_g_u_m_e_n_t _s_t_r_i_n_g_. _<_d_t_> _<_b_>ff..hhbbzzoooomm_<_/_b_> _T_h_i_s _f_u_n_c_t_i_o_n _i_s _a _s_y_n_o_n_y_m _f_o_r ff..bboottttoommzzoooomm_. _<_d_d_> _<_d_t_> _<_b_>ff..hhiiddeeiiccoonnmmggrr_<_/_b_> _T_h_i_s _f_u_n_c_t_i_o_n _u_n_m_a_p_s _t_h_e _c_u_r_r_e_n_t _i_c_o_n _m_a_n_a_g_e_r_. _<_d_d_> _<_d_t_> _<_b_>ff..hhoorriizzoooomm_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _i_s _s_i_m_i_l_a_r _t_o _t_h_e ff..zzoooomm _f_u_n_c_t_i_o_n _e_x_c_e_p_t _t_h_a_t _t_h_e _<_d_d_> _s_e_l_e_c_t_e_d _w_i_n_d_o_w _i_s _r_e_s_i_z_e_d _t_o _t_h_e _f_u_l_l _w_i_d_t_h _o_f _t_h_e _d_i_s_p_l_a_y_. _<_d_t_> _<_b_>ff..hhttzzoooomm_<_/_b_> _T_h_i_s _f_u_n_c_t_i_o_n _i_s _a _s_y_n_o_n_y_m _f_o_r ff..ttooppzzoooomm_. _<_d_d_> _<_d_t_> _<_b_>ff..hhzzoooomm_<_/_b_> _T_h_i_s _f_u_n_c_t_i_o_n _i_s _a _s_y_n_o_n_y_m _f_o_r ff..hhoorriizzoooomm_. _<_d_d_> _<_d_t_> _<_b_>ff..iiccoonniiffyy_<_/_b_> _T_h_i_s _f_u_n_c_t_i_o_n _i_c_o_n_i_f_i_e_s _o_r _d_e_i_c_o_n_i_f_i_e_s _t_h_e _s_e_l_e_c_t_e_d _w_i_n_d_o_w _o_r _i_c_o_n_, _<_d_d_> _r_e_s_p_e_c_t_i_v_e_l_y_. _<_d_t_> _<_b_>ff..iiddeennttiiffyy_<_/_b_> _T_h_i_s _f_u_n_c_t_i_o_n _d_i_s_p_l_a_y_s _a _s_u_m_m_a_r_y _o_f _t_h_e _n_a_m_e _a_n_d _g_e_o_m_e_t_r_y _o_f _t_h_e _<_d_d_> _s_e_l_e_c_t_e_d _w_i_n_d_o_w_. _I_f _t_h_e _s_e_r_v_e_r _s_u_p_p_o_r_t_s _t_h_e _S_Y_N_C _e_x_t_e_n_s_i_o_n_, _t_h_e _p_r_i_o_r_i_t_y _o_f _t_h_e _c_l_i_e_n_t _o_w_n_i_n_g _t_h_e _w_i_n_d_o_w _i_s _a_l_s_o _d_i_s_p_l_a_y_e_d_. _C_l_i_c_k_i_n_g _t_h_e _p_o_i_n_t_e_r _o_r _p_r_e_s_s_i_n_g _a _k_e_y _i_n _t_h_e _w_i_n_d_o_w _w_i_l_l _d_i_s_m_i_s_s _i_t_. _<_d_t_> _<_b_>ff..lleeffttiiccoonnmmggrr_<_/_b_> _T_h_i_s _f_u_n_c_t_i_o_n _s_i_m_i_l_a_r _t_o ff..bbaacckkiiccoonnmmggrr _e_x_c_e_p_t _t_h_a_t _w_r_a_p_p_i_n_g _d_o_e_s _n_o_t _<_d_d_> _c_h_a_n_g_e _r_o_w_s_. _<_d_t_> _<_b_>ff..lleeffttzzoooomm_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _i_s _s_i_m_i_l_a_r _t_o _t_h_e ff..bboottttoommzzoooomm _f_u_n_c_t_i_o_n _b_u_t _c_a_u_s_e_s _<_d_d_> _t_h_e _s_e_l_e_c_t_e_d _w_i_n_d_o_w _i_s _o_n_l_y _r_e_s_i_z_e_d _t_o _t_h_e _l_e_f_t _h_a_l_f _o_f _t_h_e _d_i_s_p_l_a_y_. _<_d_t_> _<_b_>ff..lloowweerr_<_/_b_> _T_h_i_s _f_u_n_c_t_i_o_n _l_o_w_e_r_s _t_h_e _s_e_l_e_c_t_e_d _w_i_n_d_o_w_. _<_d_d_> _<_d_t_> _<_b_>ff..mmeennuu _s_t_r_i_n_g_<_/_b_> _T_h_i_s _f_u_n_c_t_i_o_n _i_n_v_o_k_e_s _t_h_e _m_e_n_u _s_p_e_c_i_f_i_e_d _b_y _t_h_e _a_r_g_u_m_e_n_t _s_t_r_i_n_g_. _<_d_d_> _C_a_s_c_a_d_e_d _m_e_n_u_s _m_a_y _b_e _b_u_i_l_t _b_y _n_e_s_t_i_n_g _c_a_l_l_s _t_o ff..mmeennuu_. _<_d_t_> _<_b_>ff..mmoovvee_<_/_b_> _T_h_i_s _f_u_n_c_t_i_o_n _d_r_a_g_s _a_n _o_u_t_l_i_n_e _o_f _t_h_e _s_e_l_e_c_t_e_d _w_i_n_d_o_w _(_o_r _t_h_e _w_i_n_d_o_w _i_t_s_e_l_f _<_d_d_> _i_f _t_h_e OOppaaqquueeMMoovvee _v_a_r_i_a_b_l_e _i_s _s_e_t_) _u_n_t_i_l _t_h_e _i_n_v_o_k_i_n_g _p_o_i_n_t_e_r _b_u_t_t_o_n _i_s _r_e_l_e_a_s_e_d_. _D_o_u_b_l_e _c_l_i_c_k_i_n_g _w_i_t_h_i_n _t_h_e _n_u_m_b_e_r _o_f _m_i_l_l_i_s_e_c_o_n_d_s _g_i_v_e_n _b_y CCoonnssttrraaiinneeddMMoovveeTTiimmee _w_a_r_p_s _t_h_e _p_o_i_n_t_e_r _t_o _t_h_e _c_e_n_t_e_r _o_f _t_h_e _w_i_n_d_o_w _a_n_d _c_o_n_s_t_r_a_i_n_s _t_h_e _m_o_v_e _t_o _b_e _e_i_t_h_e_r _h_o_r_i_z_o_n_t_a_l _o_r _v_e_r_t_i_c_a_l _d_e_p_e_n_d_i_n_g _o_n _w_h_i_c_h _g_r_i_d _l_i_n_e _i_s _c_r_o_s_s_e_d_. _T_o _a_b_o_r_t _a _m_o_v_e_, _p_r_e_s_s _a_n_o_t_h_e_r _b_u_t_t_o_n _b_e_f_o_r_e _r_e_l_e_a_s_i_n_g _t_h_e _f_i_r_s_t _b_u_t_t_o_n_. _<_d_t_> _<_b_>ff..nneexxttiiccoonnmmggrr_<_/_b_> _T_h_i_s _f_u_n_c_t_i_o_n _w_a_r_p_s _t_h_e _p_o_i_n_t_e_r _t_o _t_h_e _n_e_x_t _i_c_o_n _m_a_n_a_g_e_r _c_o_n_t_a_i_n_i_n_g _a_n_y _w_i_n_d_o_w_s _<_d_d_> _o_n _t_h_e _c_u_r_r_e_n_t _o_r _a_n_y _s_u_c_c_e_e_d_i_n_g _s_c_r_e_e_n_. _<_d_t_> _<_b_>ff..nnoopp_<_/_b_> _T_h_i_s _f_u_n_c_t_i_o_n _d_o_e_s _n_o_t_h_i_n_g _a_n_d _i_s _t_y_p_i_c_a_l_l_y _u_s_e_d _w_i_t_h _t_h_e DDeeffaauullttFFuunnccttiioonn _<_d_d_> _o_r WWiinnddoowwFFuunnccttiioonn _v_a_r_i_a_b_l_e_s _o_r _t_o _i_n_t_r_o_d_u_c_e _b_l_a_n_k _l_i_n_e_s _i_n _m_e_n_u_s_. _<_d_t_> _<_b_>ff..pprreevviiccoonnmmggrr_<_/_b_> _T_h_i_s _f_u_n_c_t_i_o_n _w_a_r_p_s _t_h_e _p_o_i_n_t_e_r _t_o _t_h_e _p_r_e_v_i_o_u_s _i_c_o_n _m_a_n_a_g_e_r _c_o_n_t_a_i_n_i_n_g _a_n_y _<_d_d_> _w_i_n_d_o_w_s _o_n _t_h_e _c_u_r_r_e_n_t _o_r _p_r_e_c_e_d_i_n_g _s_c_r_e_e_n_s_. _<_d_t_> _<_b_>ff..pprriioorriittyy _s_t_r_i_n_g_<_/_b_> _T_h_i_s _f_u_n_c_t_i_o_n _s_e_t_s _t_h_e _p_r_i_o_r_i_t_y _o_f _t_h_e _c_l_i_e_n_t _o_w_n_i_n_g _t_h_e _s_e_l_e_c_t_e_d _w_i_n_d_o_w _t_o _<_d_d_> _t_h_e _n_u_m_e_r_i_c _v_a_l_u_e _o_f _t_h_e _a_r_g_u_m_e_n_t _s_t_r_i_n_g_, _w_h_i_c_h _s_h_o_u_l_d _b_e _a _s_i_g_n_e_d _i_n_t_e_g_e_r _i_n _d_o_u_b_l_e _q_u_o_t_e_s _(_e_._g_. _"_9_9_9_" _)_. _T_h_i_s _f_u_n_c_t_i_o_n _h_a_s _a_n _e_f_f_e_c_t _o_n_l_y _i_f _t_h_e _s_e_r_v_e_r _s_u_p_p_o_r_t_s _t_h_e _S_Y_N_C _e_x_t_e_n_s_i_o_n_. _<_d_t_> _<_b_>ff..qquuiitt_<_/_b_> _T_h_i_s _f_u_n_c_t_i_o_n _c_a_u_s_e_s _t_w_m _t_o _r_e_s_t_o_r_e _t_h_e _w_i_n_d_o_w_'_s _b_o_r_d_e_r_s _a_n_d _e_x_i_t_. _I_f _<_d_d_> _t_w_m _i_s _t_h_e _f_i_r_s_t _c_l_i_e_n_t _i_n_v_o_k_e_d _f_r_o_m _x_d_m_, _t_h_i_s _w_i_l_l _r_e_s_u_l_t _i_n _a _s_e_r_v_e_r _r_e_s_e_t_. _<_d_t_> _<_b_>ff..rraaiissee_<_/_b_> _T_h_i_s _f_u_n_c_t_i_o_n _r_a_i_s_e_s _t_h_e _s_e_l_e_c_t_e_d _w_i_n_d_o_w_. _<_d_d_> _<_d_t_> _<_b_>ff..rraaiisseelloowweerr_<_/_b_> _T_h_i_s _f_u_n_c_t_i_o_n _r_a_i_s_e_s _t_h_e _s_e_l_e_c_t_e_d _w_i_n_d_o_w _t_o _t_h_e _t_o_p _o_f _t_h_e _s_t_a_c_k_i_n_g _o_r_d_e_r _i_f _<_d_d_> _i_t _i_s _o_c_c_l_u_d_e_d _b_y _a_n_y _w_i_n_d_o_w_s_, _o_t_h_e_r_w_i_s_e _t_h_e _w_i_n_d_o_w _w_i_l_l _b_e _l_o_w_e_r_e_d_. _<_d_t_> _<_b_>ff..rreeffrreesshh_<_/_b_> _T_h_i_s _f_u_n_c_t_i_o_n _c_a_u_s_e_s _a_l_l _w_i_n_d_o_w_s _t_o _b_e _r_e_f_r_e_s_h_e_d_. _<_d_d_> _<_d_t_> _<_b_>ff..rreessiizzee_<_/_b_> _T_h_i_s _f_u_n_c_t_i_o_n _d_i_s_p_l_a_y_s _a_n _o_u_t_l_i_n_e _o_f _t_h_e _s_e_l_e_c_t_e_d _w_i_n_d_o_w_. _C_r_o_s_s_i_n_g _a _b_o_r_d_e_r _<_d_d_> _(_o_r _s_e_t_t_i_n_g AAuuttooRReellaattiivveeRReessiizzee_) _w_i_l_l _c_a_u_s_e _t_h_e _o_u_t_l_i_n_e _t_o _b_e_g_i_n _t_o _r_u_b_b_e_r _b_a_n_d _u_n_t_i_l _t_h_e _i_n_v_o_k_i_n_g _b_u_t_t_o_n _i_s _r_e_l_e_a_s_e_d_. _T_o _a_b_o_r_t _a _r_e_s_i_z_e_, _p_r_e_s_s _a_n_o_t_h_e_r _b_u_t_t_o_n _b_e_f_o_r_e _r_e_l_e_a_s_i_n_g _t_h_e _f_i_r_s_t _b_u_t_t_o_n_. _<_d_t_> _<_b_>ff..rreessttaarrtt_<_/_b_> _T_h_i_s _f_u_n_c_t_i_o_n _k_i_l_l_s _a_n_d _r_e_s_t_a_r_t_s _t_w_m_. _<_d_d_> _<_d_t_> _<_b_>ff..ssttaarrttwwmm _s_t_r_i_n_g_<_/_b_> _T_h_i_s _f_u_n_c_t_i_o_n _k_i_l_l_s _t_w_m _a_n_d _s_t_a_r_t_s _a_n_o_t_h_e_r _w_i_n_d_o_w _m_a_n_a_g_e_r_, _a_s _<_d_d_> _s_p_e_c_i_f_i_e_d _b_y _s_t_r_i_n_g_. _<_d_t_> _<_b_>ff..rriigghhttiiccoonnmmggrr_<_/_b_> _T_h_i_s _f_u_n_c_t_i_o_n _i_s _s_i_m_i_l_a_r _t_o ff..nneexxttiiccoonnmmggrr _e_x_c_e_p_t _t_h_a_t _w_r_a_p_p_i_n_g _d_o_e_s _<_d_d_> _n_o_t _c_h_a_n_g_e _r_o_w_s_. _<_d_t_> _<_b_>ff..rriigghhttzzoooomm_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _i_s _s_i_m_i_l_a_r _t_o _t_h_e ff..bboottttoommzzoooomm _f_u_n_c_t_i_o_n _e_x_c_e_p_t _t_h_a_t _<_d_d_> _t_h_e _s_e_l_e_c_t_e_d _w_i_n_d_o_w _i_s _o_n_l_y _r_e_s_i_z_e_d _t_o _t_h_e _r_i_g_h_t _h_a_l_f _o_f _t_h_e _d_i_s_p_l_a_y_. _<_d_t_> _<_b_>ff..ssaavveeyyoouurrsseellff_<_/_b_> _T_h_i_s _f_u_n_c_t_i_o_n _s_e_n_d_s _a _W_M___S_A_V_E_Y_O_U_R_S_E_L_F _m_e_s_s_a_g_e _t_o _t_h_e _s_e_l_e_c_t_e_d _w_i_n_d_o_w _i_f _i_t _<_d_d_> _h_a_s _r_e_q_u_e_s_t_e_d _t_h_e _m_e_s_s_a_g_e _i_n _i_t_s _W_M___P_R_O_T_O_C_O_L_S _w_i_n_d_o_w _p_r_o_p_e_r_t_y_. _C_l_i_e_n_t_s _t_h_a_t _a_c_c_e_p_t _t_h_i_s _m_e_s_s_a_g_e _a_r_e _s_u_p_p_o_s_e_d _t_o _c_h_e_c_k_p_o_i_n_t _a_l_l _s_t_a_t_e _a_s_s_o_c_i_a_t_e_d _w_i_t_h _t_h_e _w_i_n_d_o_w _a_n_d _u_p_d_a_t_e _t_h_e _W_M___C_O_M_M_A_N_D _p_r_o_p_e_r_t_y _a_s _s_p_e_c_i_f_i_e_d _i_n _t_h_e _I_C_C_C_M_. _I_f _t_h_e _s_e_l_e_c_t_e_d _w_i_n_d_o_w _h_a_s _n_o_t _s_e_l_e_c_t_e_d _f_o_r _t_h_i_s _m_e_s_s_a_g_e_, _t_h_e _k_e_y_b_o_a_r_d _b_e_l_l _w_i_l_l _b_e _r_u_n_g_. _<_d_t_> _<_b_>ff..sshhoowwiiccoonnmmggrr_<_/_b_> _T_h_i_s _f_u_n_c_t_i_o_n _m_a_p_s _t_h_e _c_u_r_r_e_n_t _i_c_o_n _m_a_n_a_g_e_r_. _<_d_d_> _<_d_t_> _<_b_>ff..ssoorrttiiccoonnmmggrr_<_/_b_> _T_h_i_s _f_u_n_c_t_i_o_n _s_o_r_t_s _t_h_e _e_n_t_r_i_e_s _i_n _t_h_e _c_u_r_r_e_n_t _i_c_o_n _m_a_n_a_g_e_r _a_l_p_h_a_b_e_t_i_c_a_l_l_y_. _<_d_d_> _S_e_e _t_h_e _v_a_r_i_a_b_l_e SSoorrttIIccoonnMMaannaaggeerr_. _<_d_t_> _<_b_>ff..ttiittllee_<_/_b_> _T_h_i_s _f_u_n_c_t_i_o_n _p_r_o_v_i_d_e_s _a _c_e_n_t_e_r_e_d_, _u_n_s_e_l_e_c_t_a_b_l_e _i_t_e_m _i_n _a _m_e_n_u _d_e_f_i_n_i_t_i_o_n_. _I_t _<_d_d_> _s_h_o_u_l_d _n_o_t _b_e _u_s_e_d _i_n _a_n_y _o_t_h_e_r _c_o_n_t_e_x_t_. _<_d_t_> _<_b_>ff..ttooppzzoooomm_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _i_s _s_i_m_i_l_a_r _t_o _t_h_e ff..bboottttoommzzoooomm _f_u_n_c_t_i_o_n _e_x_c_e_p_t _t_h_a_t _<_d_d_> _t_h_e _s_e_l_e_c_t_e_d _w_i_n_d_o_w _i_s _o_n_l_y _r_e_s_i_z_e_d _t_o _t_h_e _t_o_p _h_a_l_f _o_f _t_h_e _d_i_s_p_l_a_y_. _<_d_t_> _<_b_>ff..uunnffooccuuss_<_/_b_> _T_h_i_s _f_u_n_c_t_i_o_n _r_e_s_e_t_s _t_h_e _f_o_c_u_s _b_a_c_k _t_o _p_o_i_n_t_e_r_-_d_r_i_v_e_n_. _T_h_i_s _s_h_o_u_l_d _b_e _u_s_e_d _<_d_d_> _w_h_e_n _a _f_o_c_u_s_e_d _w_i_n_d_o_w _i_s _n_o _l_o_n_g_e_r _d_e_s_i_r_e_d_. _<_d_t_> _<_b_>ff..uuppiiccoonnmmggrr_<_/_b_> _T_h_i_s _f_u_n_c_t_i_o_n _w_a_r_p_s _t_h_e _p_o_i_n_t_e_r _t_o _t_h_e _p_r_e_v_i_o_u_s _r_o_w _i_n _t_h_e _c_u_r_r_e_n_t _i_c_o_n _<_d_d_> _m_a_n_a_g_e_r_, _w_r_a_p_p_i_n_g _t_o _t_h_e _l_a_s_t _r_o_w _i_n _t_h_e _s_a_m_e _c_o_l_u_m_n _i_f _n_e_c_e_s_s_a_r_y_. _<_d_t_> _<_b_>ff..vvllzzoooomm_<_/_b_> _T_h_i_s _f_u_n_c_t_i_o_n _i_s _a _s_y_n_o_n_y_m _f_o_r ff..lleeffttzzoooomm_. _<_d_d_> _<_d_t_> _<_b_>ff..vvrrzzoooomm_<_/_b_> _T_h_i_s _f_u_n_c_t_i_o_n _i_s _a _s_y_n_o_n_y_m _f_o_r ff..rriigghhttzzoooomm_. _<_d_d_> _<_d_t_> _<_b_>ff..wwaarrpprriinngg _s_t_r_i_n_g_<_/_b_> _T_h_i_s _f_u_n_c_t_i_o_n _w_a_r_p_s _t_h_e _p_o_i_n_t_e_r _t_o _t_h_e _n_e_x_t _o_r _p_r_e_v_i_o_u_s _w_i_n_d_o_w _(_a_s _i_n_d_i_c_a_t_e_d _<_d_d_> _b_y _t_h_e _a_r_g_u_m_e_n_t _s_t_r_i_n_g_, _w_h_i_c_h _m_a_y _b_e ""nneexxtt"" _o_r ""pprreevv""_) _s_p_e_c_i_f_i_e_d _i_n _t_h_e WWiinnddoowwRRiinngg _v_a_r_i_a_b_l_e_. _<_d_t_> _<_b_>ff..wwaarrppttoo _s_t_r_i_n_g_<_/_b_> _T_h_i_s _f_u_n_c_t_i_o_n _w_a_r_p_s _t_h_e _p_o_i_n_t_e_r _t_o _t_h_e _w_i_n_d_o_w _w_h_i_c_h _h_a_s _a _n_a_m_e _o_r _c_l_a_s_s _<_d_d_> _t_h_a_t _m_a_t_c_h_e_s _s_t_r_i_n_g_. _I_f _t_h_e _w_i_n_d_o_w _i_s _i_c_o_n_i_f_i_e_d_, _i_t _w_i_l_l _b_e _d_e_i_c_o_n_i_f_i_e_d _i_f _t_h_e _v_a_r_i_a_b_l_e WWaarrppUUnnmmaappppeedd _i_s _s_e_t _o_r _e_l_s_e _i_g_n_o_r_e_d_. _<_d_t_> _<_b_>ff..wwaarrppttooiiccoonnmmggrr _s_t_r_i_n_g_<_/_b_> _T_h_i_s _f_u_n_c_t_i_o_n _w_a_r_p_s _t_h_e _p_o_i_n_t_e_r _t_o _t_h_e _i_c_o_n _m_a_n_a_g_e_r _e_n_t_r_y _<_d_d_> _a_s_s_o_c_i_a_t_e_d _w_i_t_h _t_h_e _w_i_n_d_o_w _c_o_n_t_a_i_n_i_n_g _t_h_e _p_o_i_n_t_e_r _i_n _t_h_e _i_c_o_n _m_a_n_a_g_e_r _s_p_e_c_i_f_i_e_d _b_y _t_h_e _a_r_g_u_m_e_n_t _s_t_r_i_n_g_. _I_f _s_t_r_i_n_g _i_s _e_m_p_t_y _(_i_._e_. _"_"_)_, _t_h_e _c_u_r_r_e_n_t _i_c_o_n _m_a_n_a_g_e_r _i_s _c_h_o_s_e_n_. _<_d_t_> _<_b_>ff..wwaarrppttoossccrreeeenn _s_t_r_i_n_g_<_/_b_> _T_h_i_s _f_u_n_c_t_i_o_n _w_a_r_p_s _t_h_e _p_o_i_n_t_e_r _t_o _t_h_e _s_c_r_e_e_n _s_p_e_c_i_f_i_e_d _b_y _t_h_e _<_d_d_> _a_r_g_u_m_e_n_t _s_t_r_i_n_g_. _S_t_r_i_n_g _m_a_y _b_e _a _n_u_m_b_e_r _(_e_._g_. ""00"" _o_r ""11""_)_, _t_h_e _w_o_r_d ""nneexxtt"" _(_i_n_d_i_c_a_t_i_n_g _t_h_e _c_u_r_r_e_n_t _s_c_r_e_e_n _p_l_u_s _1_, _s_k_i_p_p_i_n_g _o_v_e_r _a_n_y _u_n_m_a_n_a_g_e_d _s_c_r_e_e_n_s_)_, _t_h_e _w_o_r_d ""bbaacckk"" _(_i_n_d_i_c_a_t_i_n_g _t_h_e _c_u_r_r_e_n_t _s_c_r_e_e_n _m_i_n_u_s _1_, _s_k_i_p_p_i_n_g _o_v_e_r _a_n_y _u_n_m_a_n_a_g_e_d _s_c_r_e_e_n_s_)_, _o_r _t_h_e _w_o_r_d ""pprreevv"" _(_i_n_d_i_c_a_t_i_n_g _t_h_e _l_a_s_t _s_c_r_e_e_n _v_i_s_i_t_e_d_. _<_d_t_> _<_b_>ff..wwiinnrreeffrreesshh_<_/_b_> _T_h_i_s _f_u_n_c_t_i_o_n _i_s _s_i_m_i_l_a_r _t_o _t_h_e ff..rreeffrreesshh _f_u_n_c_t_i_o_n _e_x_c_e_p_t _t_h_a_t _o_n_l_y _t_h_e _<_d_d_> _s_e_l_e_c_t_e_d _w_i_n_d_o_w _i_s _r_e_f_r_e_s_h_e_d_. _<_d_t_> _<_b_>ff..zzoooomm_<_/_b_> _T_h_i_s _f_u_n_c_t_i_o_n _i_s _s_i_m_i_l_a_r _t_o _t_h_e ff..ffuullllzzoooomm _f_u_n_c_t_i_o_n_, _e_x_c_e_p_t _t_h_a_t _<_d_d_> _t_h_e _o_n_l_y _t_h_e _h_e_i_g_h_t _o_f _t_h_e _s_e_l_e_c_t_e_d _w_i_n_d_o_w _i_s _c_h_a_n_g_e_d_. _<_/_d_l_> _<_h_3 _i_d_=_"_M_E_N_U_S_"_> _M_E_N_U_S _<_/_h_3_> _<_p_> _F_u_n_c_t_i_o_n_s _m_a_y _b_e _g_r_o_u_p_e_d _a_n_d _i_n_t_e_r_a_c_t_i_v_e_l_y _s_e_l_e_c_t_e_d _u_s_i_n_g _p_o_p_-_u_p _(_w_h_e_n _b_o_u_n_d _t_o _a _p_o_i_n_t_e_r _b_u_t_t_o_n_) _o_r _p_u_l_l_-_d_o_w_n _(_w_h_e_n _a_s_s_o_c_i_a_t_e_d _w_i_t_h _a _t_i_t_l_e_b_u_t_t_o_n_) _m_e_n_u_s_. _E_a_c_h _m_e_n_u _s_p_e_c_i_f_i_c_a_t_i_o_n _c_o_n_t_a_i_n_s _t_h_e _n_a_m_e _o_f _t_h_e _m_e_n_u _a_s _i_t _w_i_l_l _b_e _r_e_f_e_r_r_e_d _t_o _b_y ff..mmeennuu_, _o_p_t_i_o_n_a_l _d_e_f_a_u_l_t _f_o_r_e_g_r_o_u_n_d _a_n_d _b_a_c_k_g_r_o_u_n_d _c_o_l_o_r_s_, _t_h_e _l_i_s_t _o_f _i_t_e_m _n_a_m_e_s _a_n_d _t_h_e _f_u_n_c_t_i_o_n_s _t_h_e_y _s_h_o_u_l_d _i_n_v_o_k_e_, _a_n_d _o_p_t_i_o_n_a_l _f_o_r_e_g_r_o_u_n_d _a_n_d _b_a_c_k_g_r_o_u_n_d _c_o_l_o_r_s _f_o_r _i_n_d_i_v_i_d_u_a_l _i_t_e_m_s_: _<_b_r_>_<_b_r_> _<_b_r_> _<_p_r_e_> MMeennuu _"_m_e_n_u_n_a_m_e_" _[ _(_"_d_e_f_f_o_r_e_"_:_"_d_e_f_b_a_c_k_"_) _] _{ _s_t_r_i_n_g_1 _[ _(_"_f_o_r_e_1_"_:_"_b_a_c_k_n_"_)_]_f_u_n_c_t_i_o_n_1 _s_t_r_i_n_g_2 _[ _(_"_f_o_r_e_2_"_:_"_b_a_c_k_n_"_)_]_f_u_n_c_t_i_o_n_2 _. _. _. _s_t_r_i_n_g_N _[ _(_"_f_o_r_e_N_"_:_"_b_a_c_k_N_"_)_]_f_u_n_c_t_i_o_n_N _} _<_/_p_r_e_> _<_b_r_>_<_b_r_> _<_p_> _T_h_e _m_e_n_u_n_a_m_e _i_s _c_a_s_e_-_s_e_n_s_i_t_i_v_e_. _T_h_e _o_p_t_i_o_n_a_l _d_e_f_f_o_r_e _a_n_d _d_e_f_b_a_c_k _a_r_g_u_m_e_n_t_s _s_p_e_c_i_f_y _t_h_e _f_o_r_e_g_r_o_u_n_d _a_n_d _b_a_c_k_g_r_o_u_n_d _c_o_l_o_r_s _u_s_e_d _o_n _a _c_o_l_o_r _d_i_s_p_l_a_y _t_o _h_i_g_h_l_i_g_h_t _m_e_n_u _e_n_t_r_i_e_s_. _T_h_e _s_t_r_i_n_g _p_o_r_t_i_o_n _o_f _e_a_c_h _m_e_n_u _e_n_t_r_y _w_i_l_l _b_e _t_h_e _t_e_x_t _w_h_i_c_h _w_i_l_l _a_p_p_e_a_r _i_n _t_h_e _m_e_n_u_. _T_h_e _o_p_t_i_o_n_a_l _f_o_r_e _a_n_d _b_a_c_k _a_r_g_u_m_e_n_t_s _s_p_e_c_i_f_y _t_h_e _f_o_r_e_g_r_o_u_n_d _a_n_d _b_a_c_k_g_r_o_u_n_d _c_o_l_o_r_s _o_f _t_h_e _m_e_n_u _e_n_t_r_y _w_h_e_n _t_h_e _p_o_i_n_t_e_r _i_s _n_o_t _i_n _t_h_e _e_n_t_r_y_. _T_h_e_s_e _c_o_l_o_r_s _w_i_l_l _o_n_l_y _b_e _u_s_e_d _o_n _a _c_o_l_o_r _d_i_s_p_l_a_y_. _T_h_e _d_e_f_a_u_l_t _i_s _t_o _u_s_e _t_h_e _c_o_l_o_r_s _s_p_e_c_i_f_i_e_d _b_y _t_h_e MMeennuuFFoorreeggrroouunndd _a_n_d MMeennuuBBaacckkggrroouunndd _v_a_r_i_a_b_l_e_s_. _T_h_e _f_u_n_c_t_i_o_n _p_o_r_t_i_o_n _o_f _t_h_e _m_e_n_u _e_n_t_r_y _i_s _o_n_e _o_f _t_h_e _f_u_n_c_t_i_o_n_s_, _i_n_c_l_u_d_i_n_g _a_n_y _u_s_e_r_-_d_e_f_i_n_e_d _f_u_n_c_t_i_o_n_s_, _o_r _a_d_d_i_t_i_o_n_a_l _m_e_n_u_s_. _<_p_> _T_h_e_r_e _i_s _a _s_p_e_c_i_a_l _m_e_n_u _n_a_m_e_d TTwwmmWWiinnddoowwss _w_h_i_c_h _c_o_n_t_a_i_n_s _t_h_e _n_a_m_e_s _o_f _a_l_l _o_f _t_h_e _c_l_i_e_n_t _a_n_d _t_w_m_-_s_u_p_p_l_i_e_d _w_i_n_d_o_w_s_. _S_e_l_e_c_t_i_n_g _a_n _e_n_t_r_y _w_i_l_l _c_a_u_s_e _t_h_e WWiinnddoowwFFuunnccttiioonn _t_o _b_e _e_x_e_c_u_t_e_d _o_n _t_h_a_t _w_i_n_d_o_w_. _I_f WWiinnddoowwFFuunnccttiioonn _h_a_s_n_'_t _b_e_e_n _s_e_t_, _t_h_e _w_i_n_d_o_w _w_i_l_l _b_e _d_e_i_c_o_n_i_f_i_e_d _a_n_d _r_a_i_s_e_d_. _<_h_3 _i_d_=_"_I_C_O_N_S_"_> _I_C_O_N_S _<_/_h_3_> _T_w_m _s_u_p_p_o_r_t_s _s_e_v_e_r_a_l _d_i_f_f_e_r_e_n_t _w_a_y_s _o_f _m_a_n_i_p_u_l_a_t_i_n_g _i_c_o_n_i_f_i_e_d _w_i_n_d_o_w_s_. _T_h_e _c_o_m_m_o_n _p_i_x_m_a_p_-_a_n_d_-_t_e_x_t _s_t_y_l_e _m_a_y _b_e _l_a_i_d _o_u_t _b_y _h_a_n_d _o_r _a_u_t_o_m_a_t_i_c_a_l_l_y _a_r_r_a_n_g_e_d _a_s _d_e_s_c_r_i_b_e_d _b_y _t_h_e IIccoonnRReeggiioonn _v_a_r_i_a_b_l_e_. _I_n _a_d_d_i_t_i_o_n_, _a _t_e_r_s_e _g_r_i_d _o_f _i_c_o_n _n_a_m_e_s_, _c_a_l_l_e_d _a_n _i_c_o_n _m_a_n_a_g_e_r_, _p_r_o_v_i_d_e_s _a _m_o_r_e _e_f_f_i_c_i_e_n_t _u_s_e _o_f _s_c_r_e_e_n _s_p_a_c_e _a_s _w_e_l_l _a_s _t_h_e _a_b_i_l_i_t_y _t_o _n_a_v_i_g_a_t_e _a_m_o_n_g _w_i_n_d_o_w_s _f_r_o_m _t_h_e _k_e_y_b_o_a_r_d_. _<_p_> _A_n _i_c_o_n _m_a_n_a_g_e_r _i_s _a _w_i_n_d_o_w _t_h_a_t _c_o_n_t_a_i_n_s _n_a_m_e_s _o_f _s_e_l_e_c_t_e_d _o_r _a_l_l _w_i_n_d_o_w_s _c_u_r_r_e_n_t_l_y _o_n _t_h_e _d_i_s_p_l_a_y_. _I_n _a_d_d_i_t_i_o_n _t_o _t_h_e _w_i_n_d_o_w _n_a_m_e_, _a _s_m_a_l_l _b_u_t_t_o_n _u_s_i_n_g _t_h_e _d_e_f_a_u_l_t _i_c_o_n_i_f_y _s_y_m_b_o_l _w_i_l_l _b_e _d_i_s_p_l_a_y_e_d _t_o _t_h_e _l_e_f_t _o_f _t_h_e _n_a_m_e _w_h_e_n _t_h_e _w_i_n_d_o_w _i_s _i_c_o_n_i_f_i_e_d_. _B_y _d_e_f_a_u_l_t_, _c_l_i_c_k_i_n_g _o_n _a_n _e_n_t_r_y _i_n _t_h_e _i_c_o_n _m_a_n_a_g_e_r _p_e_r_f_o_r_m_s ff..iiccoonniiffyy_. _T_o _c_h_a_n_g_e _t_h_e _a_c_t_i_o_n_s _t_a_k_e_n _i_n _t_h_e _i_c_o_n _m_a_n_a_g_e_r_, _u_s_e _t_h_e _t_h_e iiccoonnmmggrr _c_o_n_t_e_x_t _w_h_e_n _s_p_e_c_i_f_y_i_n_g _b_u_t_t_o_n _a_n_d _k_e_y_b_o_a_r_d _b_i_n_d_i_n_g_s_. _<_p_> _M_o_v_i_n_g _t_h_e _p_o_i_n_t_e_r _i_n_t_o _t_h_e _i_c_o_n _m_a_n_a_g_e_r _a_l_s_o _d_i_r_e_c_t_s _k_e_y_b_o_a_r_d _f_o_c_u_s _t_o _t_h_e _i_n_d_i_c_a_t_e_d _w_i_n_d_o_w _(_s_e_t_t_i_n_g _t_h_e _f_o_c_u_s _e_x_p_l_i_c_i_t_l_y _o_r _e_l_s_e _s_e_n_d_i_n_g _s_y_n_t_h_e_t_i_c _e_v_e_n_t_s NNooTTiittlleeFFooccuuss _i_s _s_e_t_)_. _U_s_i_n_g _t_h_e ff..uuppiiccoonnmmggrr_, ff..ddoowwnniiccoonnmmggrr ff..lleeffttiiccoonnmmggrr_, _a_n_d ff..rriigghhttiiccoonnmmggrr _f_u_n_c_t_i_o_n_s_, _t_h_e _i_n_p_u_t _f_o_c_u_s _c_a_n _b_e _c_h_a_n_g_e_d _b_e_t_w_e_e_n _w_i_n_d_o_w_s _d_i_r_e_c_t_l_y _f_r_o_m _t_h_e _k_e_y_b_o_a_r_d_. _<_h_3 _i_d_=_"_B_U_G_S_"_> _B_U_G_S _<_/_h_3_> _T_h_e _r_e_s_o_u_r_c_e _m_a_n_a_g_e_r _s_h_o_u_l_d _h_a_v_e _b_e_e_n _u_s_e_d _i_n_s_t_e_a_d _o_f _a_l_l _o_f _t_h_e _w_i_n_d_o_w _l_i_s_t_s_. _<_p_> _T_h_e IIccoonnRReeggiioonn _v_a_r_i_a_b_l_e _s_h_o_u_l_d _t_a_k_e _a _l_i_s_t_. _<_p_> _D_o_u_b_l_e _c_l_i_c_k_i_n_g _v_e_r_y _f_a_s_t _t_o _g_e_t _t_h_e _c_o_n_s_t_r_a_i_n_e_d _m_o_v_e _f_u_n_c_t_i_o_n _w_i_l_l _s_o_m_e_t_i_m_e_s _c_a_u_s_e _t_h_e _w_i_n_d_o_w _t_o _m_o_v_e_, _e_v_e_n _t_h_o_u_g_h _t_h_e _p_o_i_n_t_e_r _i_s _n_o_t _m_o_v_e_d_. _<_p_> _I_f IIccoonniiffyyBByyUUnnmmaappppiinngg _i_s _o_n _a_n_d _w_i_n_d_o_w_s _a_r_e _l_i_s_t_e_d _i_n IIccoonnMMaannaaggeerrDDoonnttSShhooww _b_u_t _n_o_t _i_n DDoonnttIIccoonniiffyyBByyUUnnmmaappppiinngg_, _t_h_e_y _m_a_y _b_e _l_o_s_t _i_f _t_h_e_y _a_r_e _i_c_o_n_i_f_i_e_d _a_n_d _n_o _b_i_n_d_i_n_g_s _t_o ff..mmeennuu ""TTwwmmWWiinnddoowwss"" _o_r ff..wwaarrppttoo _a_r_e _s_e_t_u_p_. _<_h_3 _i_d_=_"_F_I_L_E_S_"_> _F_I_L_E_S _<_/_h_3_> _<_p_> _<_b_r_> _<_p_r_e_> _<_i_>_$_H_O_M_E_/_._t_w_m_r_c_._<_s_c_r_e_e_n _n_u_m_b_e_r_>_<_/_i_> _<_i_>_$_H_O_M_E_/_._t_w_m_r_c_<_/_i_> _<_i_>_/_e_t_c_/_X_1_1_/_t_w_m_/_s_y_s_t_e_m_._t_w_m_r_c_<_/_i_> _<_/_p_r_e_> _<_h_3 _i_d_=_"_E_N_V_I_R_O_N_M_E_N_T _V_A_R_I_A_B_L_E_S_"_> _E_N_V_I_R_O_N_M_E_N_T _V_A_R_I_A_B_L_E_S _<_/_h_3_> _<_d_l _c_o_m_p_a_c_t_> _<_d_t_> _<_b_>_D_I_S_P_L_A_Y_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _i_s _u_s_e_d _t_o _d_e_t_e_r_m_i_n_e _w_h_i_c_h _X _s_e_r_v_e_r _t_o _u_s_e_. _I_t _i_s _a_l_s_o _s_e_t _<_d_d_> _d_u_r_i_n_g ff..eexxeecc _s_o _t_h_a_t _p_r_o_g_r_a_m_s _c_o_m_e _u_p _o_n _t_h_e _p_r_o_p_e_r _s_c_r_e_e_n_. _<_d_t_> _<_b_>_H_O_M_E_<_/_b_> _T_h_i_s _v_a_r_i_a_b_l_e _i_s _u_s_e_d _a_s _t_h_e _p_r_e_f_i_x _f_o_r _f_i_l_e_s _t_h_a_t _b_e_g_i_n _w_i_t_h _a _t_i_l_d_e _a_n_d _<_d_d_> _f_o_r _l_o_c_a_t_i_n_g _t_h_e _t_w_m _s_t_a_r_t_u_p _f_i_l_e_. _<_/_d_l_> _<_h_3 _i_d_=_"_S_E_E _A_L_S_O_"_> _S_E_E _A_L_S_O _<_/_h_3_> _<_p_> _X_(_7_)_, _X_s_e_r_v_e_r_(_1_)_, _x_d_m_(_1_)_, _x_r_d_b_(_1_) _<_h_3 _i_d_=_"_A_U_T_H_O_R_S_"_> _A_U_T_H_O_R_S _<_/_h_3_> _T_o_m _L_a_S_t_r_a_n_g_e_, _S_o_l_b_o_u_r_n_e _C_o_m_p_u_t_e_r_; _J_i_m _F_u_l_t_o_n_, _M_I_T _X _C_o_n_s_o_r_t_i_u_m_; _S_t_e_v_e _P_i_t_s_c_h_k_e_, _S_t_a_r_d_e_n_t _C_o_m_p_u_t_e_r_; _K_e_i_t_h _P_a_c_k_a_r_d_, _M_I_T _X _C_o_n_s_o_r_t_i_u_m_; _D_a_v_e _S_t_e_r_n_l_i_c_h_t_, _M_I_T _X _C_o_n_s_o_r_t_i_u_m_; _D_a_v_e _P_a_y_n_e_, _A_p_p_l_e _C_o_m_p_u_t_e_r_. _<_/_b_o_d_y_> _<_/_h_t_m_l_>