NAME

X - a portable, network-transparent window system

SYNOPSIS

The X Window System is a network transparent window system which runs on a wide range of computing and graphics machines. It should be relatively straightforward to build the X Consortium software distribution on most ANSI C and POSIX compliant systems. Commercial implementations are also available for a wide range of platforms.

The X Consortium requests that the following names be used when referring to this software:

X


X Window System


X Version 11

X Window System, Version 11
X11

X Window System is a trademark of X Consortium, Inc.

DESCRIPTION

X Window System servers run on computers with bitmap displays. The server distributes user input to and accepts output requests from various client programs through a variety of different interprocess communication channels. Although the most common case is for the client programs to be running on the same machine as the server, clients can be run transparently from other machines (including machines with different architectures and operating systems) as well.

X supports overlapping hierarchical subwindows and text and graphics operations, on both monochrome and color displays. For a full explanation of the functions that are available, see the _X_l_i_b _- _C _L_a_n_g_u_a_g_e _X _I_n_t_e_r_f_a_c_e manual, the _X _W_i_n_d_o_w _S_y_s_t_e_m _P_r_o_t_o_c_o_l specification, the _X _T_o_o_l_k_i_t _I_n_t_r_i_n_s_i_c_s _- _C _L_a_n_g_u_a_g_e _I_n_t_e_r_f_a_c_e manual, and various toolkit documents.

The number of programs that use _X is quite large. Programs provided in the core X Consortium distribution include: a terminal emulator, _x_t_e_r_m; a window manager, _t_w_m; a display manager, _x_d_m; a console redirect program, _x_c_o_n_s_o_l_e; a mail interface, _x_m_h; a bitmap editor, _b_i_t_m_a_p; resource listing/manipulation tools, _a_p_p_r_e_s, _e_d_i_t_r_e_s; access control programs, _x_a_u_t_h, _x_h_o_s_t, and _i_c_e_a_u_t_h; user preference setting programs, _x_r_d_b, _x_c_m_s_d_b, _x_s_e_t, _x_s_e_t_r_o_o_t, _x_s_t_d_c_m_a_p, and _x_m_o_d_m_a_p; clocks, _x_c_l_o_c_k and _o_c_l_o_c_k; a font displayer, (_x_f_d; utilities for listing information about fonts, windows, and displays, _x_l_s_f_o_n_t_s, _x_w_i_n_i_n_f_o, _x_l_s_c_l_i_e_n_t_s, _x_d_p_y_i_n_f_o, _x_l_s_a_t_o_m_s, and _x_p_r_o_p; screen image manipulation utilities, _x_w_d, _x_w_u_d, and _x_m_a_g; a performance measurement utility, _x_1_1_p_e_r_f; a font compiler, _b_d_f_t_o_p_c_f; a font server and related utilities, _x_f_s, _f_s_i_n_f_o, _f_s_l_s_f_o_n_t_s, _f_s_t_o_b_d_f; an X Image Extension exerciser, _x_i_e_p_e_r_f; a display server and related utilities, _X_s_e_r_v_e_r, _r_g_b, _m_k_f_o_n_t_d_i_r; remote execution utilities, _r_s_t_a_r_t and _x_o_n; a clipboard manager, _x_c_l_i_p_b_o_a_r_d; keyboard description compiler and related utilities, _x_k_b_c_o_m_p, _x_k_b_p_r_i_n_t, _x_k_b_b_e_l_l, _x_k_b_e_v_d, _x_k_b_v_l_e_d_s, and _x_k_b_w_a_t_c_h; a utility to terminate clients, _x_k_i_l_l; an optimized X protocol proxy, _l_b_x_p_r_o_x_y; a firewall security proxy, _x_f_w_p; a proxy manager to control them, _p_r_o_x_y_m_n_g_r; a utility to find proxies, _x_f_i_n_d_p_r_o_x_y; Netscape Navigator Plug-ins, _l_i_b_x_r_x_._s_o and _l_i_b_x_r_x_n_e_s_t_._s_o; an RX MIME-type helper program, _x_r_x; and a utility to cause part or all of the screen to be redrawn, _x_r_e_f_r_e_s_h.

Many other utilities, window managers, games, toolkits, etc. are included as user-contributed software in the X Consortium distribution, or are available using anonymous ftp on the Internet. See your site administrator for details.

STARTING UP

There are two main ways of getting the X server and an initial set of client applications started. The particular method used depends on what operating system you are running and whether or not you use other window systems in addition to X.

_x_d_m (the X Display Manager)
If you want to always have X running on your display, your site administrator can set your machine up to use the X Display Manager _x_d_m. This program is typically started by the system at boot time and takes care of keeping the server running and getting users logged in. If you are running _x_d_m, you will see a window on the screen welcoming you to the system and asking for your username and password. Simply type them in as you would at a normal terminal, pressing the Return key after each. If you make a mistake, _x_d_m will display an error message and ask you to try again. After you have successfully logged in, _x_d_m will start up your X environment. By default, if you have an executable file named _._x_s_e_s_s_i_o_n in your home directory, _x_d_m will treat it as a program (or shell script) to run to start up your initial clients (such as terminal emulators, clocks, a window manager, user settings for things like the background, the speed of the pointer, etc.). Your site administrator can provide details.
_x_i_n_i_t (run manually from the shell)
Sites that support more than one window system might choose to use the _x_i_n_i_t program for starting X manually. If this is true for your machine, your site administrator will probably have provided a program named "x11", "startx", or "xstart" that will do site-specific initialization (such as loading convenient default resources, running a window manager, displaying a clock, and starting several terminal emulators) in a nice way. If not, you can build such a script using the _x_i_n_i_t program. This utility simply runs one user-specified program to start the server, runs another to start up any desired clients, and then waits for either to finish. Since either or both of the user-specified programs may be a shell script, this gives substantial flexibility at the expense of a nice interface. For this reason, _x_i_n_i_t is not intended for end users.

DISPLAY NAMES

From the user's perspective, every X server has a _d_i_s_p_l_a_y _n_a_m_e of the form:

_h_o_s_t_n_a_m_e_:_d_i_s_p_l_a_y_n_u_m_b_e_r_._s_c_r_e_e_n_n_u_m_b_e_r


This information is used by the application to determine how it should connect to the server and which screen it should use by default (on displays with multiple monitors):
hostname
The _h_o_s_t_n_a_m_e specifies the name of the machine to which the display is physically connected. If the hostname is not given, the most efficient way of communicating to a server on the same machine will be used.
displaynumber
The phrase "display" is usually used to refer to collection of monitors that share a common keyboard and pointer (mouse, tablet, etc.). Most workstations tend to only have one keyboard, and therefore, only one display. Larger, multi-user systems, however, frequently have several displays so that more than one person can be doing graphics work at once. To avoid confusion, each display on a machine is assigned a _d_i_s_p_l_a_y _n_u_m_b_e_r (beginning at 0) when the X server for that display is started. The display number must always be given in a display name.
screennumber
Some displays share a single keyboard and pointer among two or more monitors. Since each monitor has its own set of windows, each screen is assigned a _s_c_r_e_e_n _n_u_m_b_e_r (beginning at 0) when the X server for that display is started. If the screen number is not given, screen 0 will be used.

On POSIX systems, the default display name is stored in your DISPLAY environment variable. This variable is set automatically by the _x_t_e_r_m terminal emulator. However, when you log into another machine on a network, you will need to set DISPLAY by hand to point to your display. For example,


    % setenv DISPLAY myws:0
    $ DISPLAY=myws:0; export DISPLAY
The _x_o_n script can be used to start an X program on a remote machine; it automatically sets the DISPLAY variable correctly.

Finally, most X programs accept a command line option of --ddiissppllaayy _d_i_s_p_l_a_y_n_a_m_e to temporarily override the contents of DISPLAY. This is most commonly used to pop windows on another person's screen or as part of a "remote shell" command to start an xterm pointing back to your display. For example,


    % xeyes -display joesws:0 -geometry 1000x1000+0+0
    % rsh big xterm -display myws:0 -ls 

X servers listen for connections on a variety of different communications channels (network byte streams, shared memory, etc.). Since there can be more than one way of contacting a given server, The _h_o_s_t_n_a_m_e part of the display name is used to determine the type of channel (also called a transport layer) to be used. X servers generally support the following types of connections:

local

The hostname part of the display name should be the empty string. For example: _:_0, _:_1, and _:_0_._1. The most efficient local transport will be chosen.
TCPIP

The hostname part of the display name should be the server machine's IP address name. Full Internet names, abbreviated names, and IP addresses are all allowed. For example: _x_._o_r_g_:_0, _e_x_p_o_:_0, _1_9_8_._1_1_2_._4_5_._1_1_:_0, _b_i_g_m_a_c_h_i_n_e_:_1, and _h_y_d_r_a_:_0_._1.
DECnet

The hostname part of the display name should be the server machine's nodename, followed by two colons instead of one. For example: _m_y_w_s_:_:_0, _b_i_g_:_:_1, and _h_y_d_r_a_:_:_0_._1.

ACCESS CONTROL

An X server can use several types of access control. Mechanisms provided in Release 6 are:
    Host Access                   Simple host-based access control.
    MIT-MAGIC-COOKIE-1            Shared plain-text "cookies".
    XDM-AUTHORIZATION-1           Secure DES based private-keys.
    SUN-DES-1                     Based on Sun's secure rpc system.
    MIT-KERBEROS-5                Kerberos Version 5 user-to-user.

_X_d_m initializes access control for the server and also places authorization information in a file accessible to the user. Normally, the list of hosts from which connections are always accepted should be empty, so that only clients with are explicitly authorized can connect to the display. When you add entries to the host list (with _x_h_o_s_t), the server no longer performs any authorization on connections from those machines. Be careful with this.

The file from which _X_l_i_b extracts authorization data can be specified with the environment variable XXAAUUTTHHOORRIITTYY, and defaults to the file ..XXaauutthhoorriittyy in the home directory. _X_d_m uses $$HHOOMMEE//..XXaauutthhoorriittyy and will create it or merge in authorization records if it already exists when a user logs in.

If you use several machines and share a common home directory across all of the machines by means of a network file system, you never really have to worry about authorization files, the system should work correctly by default. Otherwise, as the authorization files are machine-independent, you can simply copy the files to share them. To manage authorization files, use _x_a_u_t_h. This program allows you to extract records and insert them into other files. Using this, you can send authorization to remote machines when you login, if the remote machine does not share a common home directory with your local machine. Note that authorization information transmitted ``in the clear'' through a network file system or using _f_t_p or _r_c_p can be ``stolen'' by a network eavesdropper, and as such may enable unauthorized access. In many environments, this level of security is not a concern, but if it is, you need to know the exact semantics of the particular authorization data to know if this is actually a problem.

For more information on access control, see the _X_s_e_c_u_r_i_t_y manual page.

GEOMETRY SPECIFICATIONS

One of the advantages of using window systems instead of hardwired terminals is that applications don't have to be restricted to a particular size or location on the screen. Although the layout of windows on a display is controlled by the window manager that the user is running (described below), most X programs accept a command line argument of the form --ggeeoommeettrryy _W_I_D_T_H_x_H_E_I_G_H_T_+_X_O_F_F_+_Y_O_F_F (where _W_I_D_T_H, _H_E_I_G_H_T, _X_O_F_F, and _Y_O_F_F are numbers) for specifying a preferred size and location for this application's main window.

The _W_I_D_T_H and _H_E_I_G_H_T parts of the geometry specification are usually measured in either pixels or characters, depending on the application. The _X_O_F_F and _Y_O_F_F parts are measured in pixels and are used to specify the distance of the window from the left or right and top and bottom edges of the screen, respectively. Both types of offsets are measured from the indicated edge of the screen to the corresponding edge of the window. The X offset may be specified in the following ways:

+XOFF
The left edge of the window is to be placed _X_O_F_F pixels in from the left edge of the screen (i.e., the X coordinate of the window's origin will be _X_O_F_F). _X_O_F_F may be negative, in which case the window's left edge will be off the screen.
-XOFF
The right edge of the window is to be placed _X_O_F_F pixels in from the right edge of the screen. _X_O_F_F may be negative, in which case the window's right edge will be off the screen.

The Y offset has similar meanings:

+YOFF
The top edge of the window is to be _Y_O_F_F pixels below the top edge of the screen (i.e., the Y coordinate of the window's origin will be _Y_O_F_F). _Y_O_F_F may be negative, in which case the window's top edge will be off the screen.
-YOFF
The bottom edge of the window is to be _Y_O_F_F pixels above the bottom edge of the screen. _Y_O_F_F may be negative, in which case the window's bottom edge will be off the screen.

Offsets must be given as pairs; in other words, in order to specify either _X_O_F_F or _Y_O_F_F both must be present. Windows can be placed in the four corners of the screen using the following specifications:

+0+0
upper left hand corner.
-0+0
upper right hand corner.
-0-0
lower right hand corner.
+0-0
lower left hand corner.

In the following examples, a terminal emulator is placed in roughly the center of the screen and a load average monitor, mailbox, and clock are placed in the upper right hand corner:


    xterm -fn 6x10 -geometry 80x24+30+200 &
    xclock -geometry 48x48-0+0 &
    xload -geometry 48x48-96+0 &
    xbiff -geometry 48x48-48+0 &

WINDOW MANAGERS

The layout of windows on the screen is controlled by special programs called _w_i_n_d_o_w _m_a_n_a_g_e_r_s. Although many window managers will honor geometry specifications as given, others may choose to ignore them (requiring the user to explicitly draw the window's region on the screen with the pointer, for example).

Since window managers are regular (albeit complex) client programs, a variety of different user interfaces can be built. The X Consortium distribution comes with a window manager named _t_w_m which supports overlapping windows, popup menus, point-and-click or click-to-type input models, title bars, nice icons (and an icon manager for those who don't like separate icon windows).

See the user-contributed software in the X Consortium distribution for other popular window managers.

FONT NAMES

Collections of characters for displaying text and symbols in X are known as _f_o_n_t_s. A font typically contains images that share a common appearance and look nice together (for example, a single size, boldness, slant, and character set). Similarly, collections of fonts that are based on a common type face (the variations are usually called roman, bold, italic, bold italic, oblique, and bold oblique) are called _f_a_m_i_l_i_e_s.

Fonts come in various sizes. The X server supports _s_c_a_l_a_b_l_e fonts, meaning it is possible to create a font of arbitrary size from a single source for the font. The server supports scaling from _o_u_t_l_i_n_e fonts and _b_i_t_m_a_p fonts. Scaling from outline fonts usually produces significantly better results than scaling from bitmap fonts.

An X server can obtain fonts from individual files stored in directories in the file system, or from one or more font servers, or from a mixtures of directories and font servers. The list of places the server looks when trying to find a font is controlled by its _f_o_n_t _p_a_t_h. Although most installations will choose to have the server start up with all of the commonly used font directories in the font path, the font path can be changed at any time with the _x_s_e_t program. However, it is important to remember that the directory names are on the sseerrvveerr's machine, not on the application's.

Bitmap font files are usually created by compiling a textual font description into binary form, using _b_d_f_t_o_p_c_f. Font databases are created by running the _m_k_f_o_n_t_d_i_r program in the directory containing the source or compiled versions of the fonts. Whenever fonts are added to a directory, _m_k_f_o_n_t_d_i_r should be rerun so that the server can find the new fonts. To make the server reread the font database, reset the font path with the _x_s_e_t program. For example, to add a font to a private directory, the following commands could be used:


    % cp newfont.pcf ~/myfonts
    % mkfontdir ~/myfonts
    % xset fp rehash

The _x_f_o_n_t_s_e_l and _x_l_s_f_o_n_t_s programs can be used to browse through the fonts available on a server. Font names tend to be fairly long as they contain all of the information needed to uniquely identify individual fonts. However, the X server supports wildcarding of font names, so the full specification


    _-_a_d_o_b_e_-_c_o_u_r_i_e_r_-_m_e_d_i_u_m_-_r_-_n_o_r_m_a_l_-_-_1_0_-_1_0_0_-_7_5_-_7_5_-_m_-_6_0_-_i_s_o_8_8_5_9_-_1


might be abbreviated as:


    _-_*_-_c_o_u_r_i_e_r_-_m_e_d_i_u_m_-_r_-_n_o_r_m_a_l_-_-_*_-_1_0_0_-_*_-_*_-_*_-_*_-_i_s_o_8_8_5_9_-_1

Because the shell also has special meanings for _* and _?, wildcarded font names should be quoted:


    % xlsfonts -fn '-*-courier-medium-r-normal--*-100-*-*-*-*-*-*'

The _x_l_s_f_o_n_t_s program can be used to list all of the fonts that match a given pattern. With no arguments, it lists all available fonts. This will usually list the same font at many different sizes. To see just the base scalable font names, try using one of the following patterns:


    _-_*_-_*_-_*_-_*_-_*_-_*_-_0_-_0_-_0_-_0_-_*_-_0_-_*_-_*
    _-_*_-_*_-_*_-_*_-_*_-_*_-_0_-_0_-_7_5_-_7_5_-_*_-_0_-_*_-_*
    _-_*_-_*_-_*_-_*_-_*_-_*_-_0_-_0_-_1_0_0_-_1_0_0_-_*_-_0_-_*_-_*

To convert one of the resulting names into a font at a specific size, replace one of the first two zeros with a nonzero value. The field containing the first zero is for the pixel size; replace it with a specific height in pixels to name a font at that size. Alternatively, the field containing the second zero is for the point size; replace it with a specific size in decipoints (there are 722.7 decipoints to the inch) to name a font at that size. The last zero is an average width field, measured in tenths of pixels; some servers will anamorphically scale if this value is specified.

FONT SERVER NAMES

One of the following forms can be used to name a font server that accepts TCP connections:


    tcp/_h_o_s_t_n_a_m_e:_p_o_r_t
    tcp/_h_o_s_t_n_a_m_e:_p_o_r_t/_c_a_t_a_l_o_g_u_e_l_i_s_t

The _h_o_s_t_n_a_m_e specifies the name (or decimal numeric address) of the machine on which the font server is running. The _p_o_r_t is the decimal TCP port on which the font server is listening for connections. The _c_a_t_a_l_o_g_u_e_l_i_s_t specifies a list of catalogue names, with '+' as a separator.

Examples: _t_c_p_/_x_._o_r_g_:_7_1_0_0, _t_c_p_/_1_9_8_._1_1_2_._4_5_._1_1_:_7_1_0_0_/_a_l_l.

One of the following forms can be used to name a font server that accepts DECnet connections:


    decnet/_n_o_d_e_n_a_m_e::font$_o_b_j_n_a_m_e
    decnet/_n_o_d_e_n_a_m_e::font$_o_b_j_n_a_m_e/_c_a_t_a_l_o_g_u_e_l_i_s_t

The _n_o_d_e_n_a_m_e specifies the name (or decimal numeric address) of the machine on which the font server is running. The _o_b_j_n_a_m_e is a normal, case-insensitive DECnet object name. The _c_a_t_a_l_o_g_u_e_l_i_s_t specifies a list of catalogue names, with '+' as a separator.

Examples: _D_E_C_n_e_t_/_S_R_V_N_O_D_:_:_F_O_N_T_$_D_E_F_A_U_L_T, _d_e_c_n_e_t_/_4_4_._7_0_:_:_f_o_n_t_$_s_p_e_c_i_a_l_/_s_y_m_b_o_l_s.

COLOR NAMES

Most applications provide ways of tailoring (usually through resources or command line arguments) the colors of various elements in the text and graphics they display. A color can be specified either by an abstract color name, or by a numerical color specification. The numerical specification can identify a color in either device-dependent (RGB) or device-independent terms. Color strings are case-insensitive.

X supports the use of abstract color names, for example, "red", "blue". A value for this abstract name is obtained by searching one or more color name databases. _X_l_i_b first searches zero or more client-side databases; the number, location, and content of these databases is implementation dependent. If the name is not found, the color is looked up in the X server's database. The text form of this database is commonly stored in the file _/_u_s_r_/_X_1_1_R_6_/_l_i_b_/_X_1_1_/_r_g_b_._t_x_t.

A numerical color specification consists of a color space name and a set of values in the following syntax:


    _<_c_o_l_o_r___s_p_a_c_e___n_a_m_e_>:_<_v_a_l_u_e_>_/_._._._/_<_v_a_l_u_e_>

An RGB Device specification is identified by the prefix "rgb:" and has the following syntax:


    rgb:_<_r_e_d_>_/_<_g_r_e_e_n_>_/_<_b_l_u_e_>

_<_r_e_d_>, _<_g_r_e_e_n_>, _<_b_l_u_e_> := _h | _h_h | _h_h_h | _h_h_h_h _h := single hexadecimal digits Note that _h indicates the value scaled in 4 bits, _h_h the value scaled in 8 bits, _h_h_h the value scaled in 12 bits, and _h_h_h_h the value scaled in 16 bits, respectively. These values are passed directly to the X server, and are assumed to be gamma corrected.

The eight primary colors can be represented as:


    black                rgb:0/0/0
    red                  rgb:ffff/0/0
    green                rgb:0/ffff/0
    blue                 rgb:0/0/ffff
    yellow               rgb:ffff/ffff/0
    magenta              rgb:ffff/0/ffff
    cyan                 rgb:0/ffff/ffff
    white                rgb:ffff/ffff/ffff

For backward compatibility, an older syntax for RGB Device is supported, but its continued use is not encouraged. The syntax is an initial sharp sign character followed by a numeric specification, in one of the following formats:


    #RGB                      (4 bits each)
    #RRGGBB                   (8 bits each)
    #RRRGGGBBB                (12 bits each)
    #RRRRGGGGBBBB             (16 bits each)

The R, G, and B represent single hexadecimal digits. When fewer than 16 bits each are specified, they represent the most-significant bits of the value (unlike the "rgb:" syntax, in which values are scaled). For example, #3a7 is the same as #3000a0007000.

An RGB intensity specification is identified by the prefix "rgbi:" and has the following syntax:


    rgbi:_<_r_e_d_>_/_<_g_r_e_e_n_>_/_<_b_l_u_e_>

The red, green, and blue are floating point values between 0.0 and 1.0, inclusive. They represent linear intensity values, with 1.0 indicating full intensity, 0.5 half intensity, and so on. These values will be gamma corrected by _X_l_i_b before being sent to the X server. The input format for these values is an optional sign, a string of numbers possibly containing a decimal point, and an optional exponent field containing an E or e followed by a possibly signed integer string.

The standard device-independent string specifications have the following syntax:


    CIEXYZ:_<_X_>_/_<_Y_>_/_<_Z_>             (_n_o_n_e, 1, _n_o_n_e)
    CIEuvY:_<_u_>_/_<_v_>_/_<_Y_>             (~.6, ~.6, 1)
    CIExyY:_<_x_>_/_<_y_>_/_<_Y_>             (~.75, ~.85, 1)
    CIELab:_<_L_>_/_<_a_>_/_<_b_>             (100, _n_o_n_e, _n_o_n_e)
    CIELuv:_<_L_>_/_<_u_>_/_<_v_>             (100, _n_o_n_e, _n_o_n_e)
    TekHVC:_<_H_>_/_<_V_>_/_<_C_>             (360, 100, 100)

All of the values (C, H, V, X, Y, Z, a, b, u, v, y, x) are floating point values. Some of the values are constrained to be between zero and some upper bound; the upper bounds are given in parentheses above. The syntax for these values is an optional '+' or '-' sign, a string of digits possibly containing a decimal point, and an optional exponent field consisting of an 'E' or 'e' followed by an optional '+' or '-' followed by a string of digits.

For more information on device independent color, see the _X_l_i_b reference manual.

KEYBOARDS

The X keyboard model is broken into two layers: server-specific codes (called _k_e_y_c_o_d_e_s) which represent the physical keys, and server-independent symbols (called _k_e_y_s_y_m_s) which represent the letters or words that appear on the keys. Two tables are kept in the server for converting keycodes to keysyms:

modifier list
Some keys (such as Shift, Control, and Caps Lock) are known as _m_o_d_i_f_i_e_r and are used to select different symbols that are attached to a single key (such as Shift-a generates a capital A, and Control-l generates a control character ^L). The server keeps a list of keycodes corresponding to the various modifier keys. Whenever a key is pressed or released, the server generates an _e_v_e_n_t that contains the keycode of the indicated key as well as a mask that specifies which of the modifier keys are currently pressed. Most servers set up this list to initially contain the various shift, control, and shift lock keys on the keyboard.
keymap table
Applications translate event keycodes and modifier masks into keysyms using a _k_e_y_s_y_m _t_a_b_l_e which contains one row for each keycode and one column for various modifier states. This table is initialized by the server to correspond to normal typewriter conventions. The exact semantics of how the table is interpreted to produce keysyms depends on the particular program, libraries, and language input method used, but the following conventions for the first four keysyms in each row are generally adhered to:

The first four elements of the list are split into two groups of keysyms. Group 1 contains the first and second keysyms; Group 2 contains the third and fourth keysyms. Within each group, if the first element is alphabetic and the the second element is the special keysym _N_o_S_y_m_b_o_l, then the group is treated as equivalent to a group in which the first element is the lowercase letter and the second element is the uppercase letter.

Switching between groups is controlled by the keysym named MODE SWITCH, by attaching that keysym to some key and attaching that key to any one of the modifiers Mod1 through Mod5. This modifier is called the ``group modifier.'' Group 1 is used when the group modifier is off, and Group 2 is used when the group modifier is on.

Within a group, the modifier state determines which keysym to use. The first keysym is used when the Shift and Lock modifiers are off. The second keysym is used when the Shift modifier is on, when the Lock modifier is on and the second keysym is uppercase alphabetic, or when the Lock modifier is on and is interpreted as ShiftLock. Otherwise, when the Lock modifier is on and is interpreted as CapsLock, the state of the Shift modifier is applied first to select a keysym; but if that keysym is lowercase alphabetic, then the corresponding uppercase keysym is used instead.

OPTIONS

Most X programs attempt to use the same names for command line options and arguments. All applications written with the X Toolkit Intrinsics automatically accept the following options:
-display _d_i_s_p_l_a_y
This option specifies the name of the X server to use.
-geometry _g_e_o_m_e_t_r_y
This option specifies the initial size and location of the window.
-bg _c_o_l_o_r, --bbaacckkggrroouunndd _c_o_l_o_r<> <> EEiitthheerr ooppttiioonn ssppeecciiffiieess tthhee ccoolloorr ttoo uussee ffoorr tthhee wwiinnddooww bbaacckkggrroouunndd.. <> <>--bbdd _c_o_l_o_r,, --bboorrddeerrccoolloorr _c_o_l_o_r<> <> EEiitthheerr ooppttiioonn ssppeecciiffiieess tthhee ccoolloorr ttoo uussee ffoorr tthhee wwiinnddooww bboorrddeerr.. <> <>--bbww _n_u_m_b_e_r,, --bboorrddeerrwwiiddtthh _n_u_m_b_e_r<> <> EEiitthheerr ooppttiioonn ssppeecciiffiieess tthhee wwiiddtthh iinn ppiixxeellss ooff tthhee wwiinnddooww bboorrddeerr.. <> <>--ffgg _c_o_l_o_r,, --ffoorreeggrroouunndd _c_o_l_o_r<> <> EEiitthheerr ooppttiioonn ssppeecciiffiieess tthhee ccoolloorr ttoo uussee ffoorr tteexxtt oorr ggrraapphhiiccss.. <> <>--ffnn _f_o_n_t,, --ffoonntt _f_o_n_t<> <> EEiitthheerr ooppttiioonn ssppeecciiffiieess tthhee ffoonntt ttoo uussee ffoorr ddiissppllaayyiinngg tteexxtt.. <> <>--iiccoonniicc<> <> <> TThhiiss ooppttiioonn iinnddiiccaatteess tthhaatt tthhee uusseerr wwoouulldd pprreeffeerr tthhaatt tthhee aapppplliiccaattiioonn''ss wwiinnddoowwss iinniittiiaallllyy nnoott bbee vviissiibbllee aass iiff tthhee wwiinnddoowwss hhaadd bbee iimmmmeeddiiaatteellyy iiccoonniiffiieedd bbyy tthhee uusseerr.. WWiinnddooww mmaannaaggeerrss mmaayy cchhoooossee nnoott ttoo hhoonnoorr tthhee aapppplliiccaattiioonn''ss rreeqquueesstt.. <> <>--nnaammee<> <> <> TThhiiss ooppttiioonn ssppeecciiffiieess tthhee nnaammee uunnddeerr wwhhiicchh rreessoouurrcceess ffoorr tthhee aapppplliiccaattiioonn sshhoouulldd bbee ffoouunndd.. TThhiiss ooppttiioonn iiss uusseeffuull iinn sshheellll aalliiaasseess ttoo ddiissttiinngguuiisshh bbeettwweeeenn iinnvvooccaattiioonnss ooff aann aapppplliiccaattiioonn,, wwiitthhoouutt rreessoorrttiinngg ttoo ccrreeaattiinngg lliinnkkss ttoo aalltteerr tthhee eexxeeccuuttaabbllee ffiillee nnaammee.. <> <>--rrvv_, --rreevveerrssee_<_/_b_> _<_d_d_> _E_i_t_h_e_r _o_p_t_i_o_n _i_n_d_i_c_a_t_e_s _t_h_a_t _t_h_e _p_r_o_g_r_a_m _s_h_o_u_l_d _s_i_m_u_l_a_t_e _r_e_v_e_r_s_e _v_i_d_e_o _i_f _p_o_s_s_i_b_l_e_, _o_f_t_e_n _b_y _s_w_a_p_p_i_n_g _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_. _N_o_t _a_l_l _p_r_o_g_r_a_m_s _h_o_n_o_r _t_h_i_s _o_r _i_m_p_l_e_m_e_n_t _i_t _c_o_r_r_e_c_t_l_y_. _I_t _i_s _u_s_u_a_l_l_y _o_n_l_y _u_s_e_d _o_n _m_o_n_o_c_h_r_o_m_e _d_i_s_p_l_a_y_s_. _<_d_t_> _<_b_>_+_r_v_<_/_b_> _<_d_d_> _<_b_r_> _T_h_i_s _o_p_t_i_o_n _i_n_d_i_c_a_t_e_s _t_h_a_t _t_h_e _p_r_o_g_r_a_m _s_h_o_u_l_d _n_o_t _s_i_m_u_l_a_t_e _r_e_v_e_r_s_e _v_i_d_e_o_. _T_h_i_s _i_s _u_s_e_d _t_o _o_v_e_r_r_i_d_e _a_n_y _d_e_f_a_u_l_t_s _s_i_n_c_e _r_e_v_e_r_s_e _v_i_d_e_o _d_o_e_s_n_'_t _a_l_w_a_y_s _w_o_r_k _p_r_o_p_e_r_l_y_. _<_d_t_> _<_b_>_-_s_e_l_e_c_t_i_o_n_T_i_m_e_o_u_t_<_/_b_> _<_d_d_> _T_h_i_s _o_p_t_i_o_n _s_p_e_c_i_f_i_e_s _t_h_e _t_i_m_e_o_u_t _i_n _m_i_l_l_i_s_e_c_o_n_d_s _w_i_t_h_i_n _w_h_i_c_h _t_w_o _c_o_m_m_u_n_i_c_a_t_i_n_g _a_p_p_l_i_c_a_t_i_o_n_s _m_u_s_t _r_e_s_p_o_n_d _t_o _o_n_e _a_n_o_t_h_e_r _f_o_r _a _s_e_l_e_c_t_i_o_n _r_e_q_u_e_s_t_. _<_d_t_> _<_b_>_-_s_y_n_c_h_r_o_n_o_u_s_<_/_b_> _<_d_d_> _T_h_i_s _o_p_t_i_o_n _i_n_d_i_c_a_t_e_s _t_h_a_t _r_e_q_u_e_s_t_s _t_o _t_h_e _X _s_e_r_v_e_r _s_h_o_u_l_d _b_e _s_e_n_t _s_y_n_c_h_r_o_n_o_u_s_l_y_, _i_n_s_t_e_a_d _o_f _a_s_y_n_c_h_r_o_n_o_u_s_l_y_. _S_i_n_c_e _<_i_>_X_l_i_b_<_/_i_> _n_o_r_m_a_l_l_y _b_u_f_f_e_r_s _r_e_q_u_e_s_t_s _t_o _t_h_e _s_e_r_v_e_r_, _e_r_r_o_r_s _d_o _n_o_t _n_e_c_e_s_s_a_r_i_l_y _g_e_t _r_e_p_o_r_t_e_d _i_m_m_e_d_i_a_t_e_l_y _a_f_t_e_r _t_h_e_y _o_c_c_u_r_. _T_h_i_s _o_p_t_i_o_n _t_u_r_n_s _o_f_f _t_h_e _b_u_f_f_e_r_i_n_g _s_o _t_h_a_t _t_h_e _a_p_p_l_i_c_a_t_i_o_n _c_a_n _b_e _d_e_b_u_g_g_e_d_. _I_t _s_h_o_u_l_d _n_e_v_e_r _b_e _u_s_e_d _w_i_t_h _a _w_o_r_k_i_n_g _p_r_o_g_r_a_m_. _<_d_t_> _<_b_>_-_t_i_t_l_e _s_t_r_i_n_g_<_/_b_> _<_d_d_> _T_h_i_s _o_p_t_i_o_n _s_p_e_c_i_f_i_e_s _t_h_e _t_i_t_l_e _t_o _b_e _u_s_e_d _f_o_r _t_h_i_s _w_i_n_d_o_w_. _T_h_i_s _i_n_f_o_r_m_a_t_i_o_n _i_s _s_o_m_e_t_i_m_e_s _u_s_e_d _b_y _a _w_i_n_d_o_w _m_a_n_a_g_e_r _t_o _p_r_o_v_i_d_e _s_o_m_e _s_o_r_t _o_f _h_e_a_d_e_r _i_d_e_n_t_i_f_y_i_n_g _t_h_e _w_i_n_d_o_w_. _<_d_t_> _<_b_>_-_x_n_l_l_a_n_g_u_a_g_e _l_a_n_g_u_a_g_e_[___t_e_r_r_i_t_o_r_y_]_[_._c_o_d_e_s_e_t_]_<_/_b_> _<_d_d_> _T_h_i_s _o_p_t_i_o_n _s_p_e_c_i_f_i_e_s _t_h_e _l_a_n_g_u_a_g_e_, _t_e_r_r_i_t_o_r_y_, _a_n_d _c_o_d_e_s_e_t _f_o_r _u_s_e _i_n _r_e_s_o_l_v_i_n_g _r_e_s_o_u_r_c_e _a_n_d _o_t_h_e_r _f_i_l_e_n_a_m_e_s_. _<_d_t_> _<_b_>_-_x_r_m _r_e_s_o_u_r_c_e_s_t_r_i_n_g_<_/_b_> _<_d_d_> _T_h_i_s _o_p_t_i_o_n _s_p_e_c_i_f_i_e_s _a _r_e_s_o_u_r_c_e _n_a_m_e _a_n_d _v_a_l_u_e _t_o _o_v_e_r_r_i_d_e _a_n_y _d_e_f_a_u_l_t_s_. _I_t _i_s _a_l_s_o _v_e_r_y _u_s_e_f_u_l _f_o_r _s_e_t_t_i_n_g _r_e_s_o_u_r_c_e_s _t_h_a_t _d_o_n_'_t _h_a_v_e _e_x_p_l_i_c_i_t _c_o_m_m_a_n_d _l_i_n_e _a_r_g_u_m_e_n_t_s_. _<_/_d_l_> _<_h_3 _i_d_=_"_R_E_S_O_U_R_C_E_S_"_> _R_E_S_O_U_R_C_E_S _<_/_h_3_> _T_o _m_a_k_e _t_h_e _t_a_i_l_o_r_i_n_g _o_f _a_p_p_l_i_c_a_t_i_o_n_s _t_o _p_e_r_s_o_n_a_l _p_r_e_f_e_r_e_n_c_e_s _e_a_s_i_e_r_, _X _p_r_o_v_i_d_e_s _a _m_e_c_h_a_n_i_s_m _f_o_r _s_t_o_r_i_n_g _d_e_f_a_u_l_t _v_a_l_u_e_s _f_o_r _p_r_o_g_r_a_m _r_e_s_o_u_r_c_e_s _(_e_._g_. _b_a_c_k_g_r_o_u_n_d _c_o_l_o_r_, _w_i_n_d_o_w _t_i_t_l_e_, _e_t_c_._) _R_e_s_o_u_r_c_e_s _a_r_e _s_p_e_c_i_f_i_e_d _a_s _s_t_r_i_n_g_s _t_h_a_t _a_r_e _r_e_a_d _i_n _f_r_o_m _v_a_r_i_o_u_s _p_l_a_c_e_s _w_h_e_n _a_n _a_p_p_l_i_c_a_t_i_o_n _i_s _r_u_n_. _P_r_o_g_r_a_m _c_o_m_p_o_n_e_n_t_s _a_r_e _n_a_m_e_d _i_n _a _h_i_e_r_a_r_c_h_i_c_a_l _f_a_s_h_i_o_n_, _w_i_t_h _e_a_c_h _n_o_d_e _i_n _t_h_e _h_i_e_r_a_r_c_h_y _i_d_e_n_t_i_f_i_e_d _b_y _a _c_l_a_s_s _a_n_d _a_n _i_n_s_t_a_n_c_e _n_a_m_e_. _A_t _t_h_e _t_o_p _l_e_v_e_l _i_s _t_h_e _c_l_a_s_s _a_n_d _i_n_s_t_a_n_c_e _n_a_m_e _o_f _t_h_e _a_p_p_l_i_c_a_t_i_o_n _i_t_s_e_l_f_. _B_y _c_o_n_v_e_n_t_i_o_n_, _t_h_e _c_l_a_s_s _n_a_m_e _o_f _t_h_e _a_p_p_l_i_c_a_t_i_o_n _i_s _t_h_e _s_a_m_e _a_s _t_h_e _p_r_o_g_r_a_m _n_a_m_e_, _b_u_t _w_i_t_h _t_h_e _f_i_r_s_t _l_e_t_t_e_r _c_a_p_i_t_a_l_i_z_e_d _(_e_._g_. _B_i_t_m_a_p _o_r _E_m_a_c_s_) _a_l_t_h_o_u_g_h _s_o_m_e _p_r_o_g_r_a_m_s _t_h_a_t _b_e_g_i_n _w_i_t_h _t_h_e _l_e_t_t_e_r _`_`_x_'_' _a_l_s_o _c_a_p_i_t_a_l_i_z_e _t_h_e _s_e_c_o_n_d _l_e_t_t_e_r _f_o_r _h_i_s_t_o_r_i_c_a_l _r_e_a_s_o_n_s_. _<_p_> _T_h_e _p_r_e_c_i_s_e _s_y_n_t_a_x _f_o_r _r_e_s_o_u_r_c_e_s _i_s_: _<_p_> _<_b_r_> _<_p_r_e_> _R_e_s_o_u_r_c_e_L_i_n_e _= _C_o_m_m_e_n_t _| _I_n_c_l_u_d_e_F_i_l_e _| _R_e_s_o_u_r_c_e_S_p_e_c _| _<_e_m_p_t_y _l_i_n_e_> _C_o_m_m_e_n_t _= _"_!_" _{_<_a_n_y _c_h_a_r_a_c_t_e_r _e_x_c_e_p_t _n_u_l_l _o_r _n_e_w_l_i_n_e_>_} _I_n_c_l_u_d_e_F_i_l_e _= _"_#_" _W_h_i_t_e_S_p_a_c_e _"_i_n_c_l_u_d_e_" _W_h_i_t_e_S_p_a_c_e _F_i_l_e_N_a_m_e _W_h_i_t_e_S_p_a_c_e _F_i_l_e_N_a_m_e _= _<_v_a_l_i_d _f_i_l_e_n_a_m_e _f_o_r _o_p_e_r_a_t_i_n_g _s_y_s_t_e_m_> _R_e_s_o_u_r_c_e_S_p_e_c _= _W_h_i_t_e_S_p_a_c_e _R_e_s_o_u_r_c_e_N_a_m_e _W_h_i_t_e_S_p_a_c_e _"_:_" _W_h_i_t_e_S_p_a_c_e _V_a_l_u_e _R_e_s_o_u_r_c_e_N_a_m_e _= _[_B_i_n_d_i_n_g_] _{_C_o_m_p_o_n_e_n_t _B_i_n_d_i_n_g_} _C_o_m_p_o_n_e_n_t_N_a_m_e _B_i_n_d_i_n_g _= _"_._" _| _"_*_" _W_h_i_t_e_S_p_a_c_e _= _{_<_s_p_a_c_e_> _| _<_h_o_r_i_z_o_n_t_a_l _t_a_b_>_} _C_o_m_p_o_n_e_n_t _= _"_?_" _| _C_o_m_p_o_n_e_n_t_N_a_m_e _C_o_m_p_o_n_e_n_t_N_a_m_e _= _N_a_m_e_C_h_a_r _{_N_a_m_e_C_h_a_r_} _N_a_m_e_C_h_a_r _= _"_a_"_-_"_z_" _| _"_A_"_-_"_Z_" _| _"_0_"_-_"_9_" _| _"___" _| _"_-_" _V_a_l_u_e _= _{_<_a_n_y _c_h_a_r_a_c_t_e_r _e_x_c_e_p_t _n_u_l_l _o_r _u_n_e_s_c_a_p_e_d _n_e_w_l_i_n_e_>_} _<_/_p_r_e_> _<_p_> _E_l_e_m_e_n_t_s _s_e_p_a_r_a_t_e_d _b_y _v_e_r_t_i_c_a_l _b_a_r _(_|_) _a_r_e _a_l_t_e_r_n_a_t_i_v_e_s_. _C_u_r_l_y _b_r_a_c_e_s _(_{_._._._}_) _i_n_d_i_c_a_t_e _z_e_r_o _o_r _m_o_r_e _r_e_p_e_t_i_t_i_o_n_s _o_f _t_h_e _e_n_c_l_o_s_e_d _e_l_e_m_e_n_t_s_. _S_q_u_a_r_e _b_r_a_c_k_e_t_s _(_[_._._._]_) _i_n_d_i_c_a_t_e _t_h_a_t _t_h_e _e_n_c_l_o_s_e_d _e_l_e_m_e_n_t _i_s _o_p_t_i_o_n_a_l_. _Q_u_o_t_e_s _(_"_._._._"_) _a_r_e _u_s_e_d _a_r_o_u_n_d _l_i_t_e_r_a_l _c_h_a_r_a_c_t_e_r_s_. _<_p_> _I_n_c_l_u_d_e_F_i_l_e _l_i_n_e_s _a_r_e _i_n_t_e_r_p_r_e_t_e_d _b_y _r_e_p_l_a_c_i_n_g _t_h_e _l_i_n_e _w_i_t_h _t_h_e _c_o_n_t_e_n_t_s _o_f _t_h_e _s_p_e_c_i_f_i_e_d _f_i_l_e_. _T_h_e _w_o_r_d _"_i_n_c_l_u_d_e_" _m_u_s_t _b_e _i_n _l_o_w_e_r_c_a_s_e_. _T_h_e _f_i_l_e_n_a_m_e _i_s _i_n_t_e_r_p_r_e_t_e_d _r_e_l_a_t_i_v_e _t_o _t_h_e _d_i_r_e_c_t_o_r_y _o_f _t_h_e _f_i_l_e _i_n _w_h_i_c_h _t_h_e _l_i_n_e _o_c_c_u_r_s _(_f_o_r _e_x_a_m_p_l_e_, _i_f _t_h_e _f_i_l_e_n_a_m_e _c_o_n_t_a_i_n_s _n_o _d_i_r_e_c_t_o_r_y _o_r _c_o_n_t_a_i_n_s _a _r_e_l_a_t_i_v_e _d_i_r_e_c_t_o_r_y _s_p_e_c_i_f_i_c_a_t_i_o_n_)_. _<_p_> _I_f _a _R_e_s_o_u_r_c_e_N_a_m_e _c_o_n_t_a_i_n_s _a _c_o_n_t_i_g_u_o_u_s _s_e_q_u_e_n_c_e _o_f _t_w_o _o_r _m_o_r_e _B_i_n_d_i_n_g _c_h_a_r_a_c_t_e_r_s_, _t_h_e _s_e_q_u_e_n_c_e _w_i_l_l _b_e _r_e_p_l_a_c_e_d _w_i_t_h _s_i_n_g_l_e _"_._" _c_h_a_r_a_c_t_e_r _i_f _t_h_e _s_e_q_u_e_n_c_e _c_o_n_t_a_i_n_s _o_n_l_y _"_._" _c_h_a_r_a_c_t_e_r_s_, _o_t_h_e_r_w_i_s_e _t_h_e _s_e_q_u_e_n_c_e _w_i_l_l _b_e _r_e_p_l_a_c_e_d _w_i_t_h _a _s_i_n_g_l_e _"_*_" _c_h_a_r_a_c_t_e_r_. _<_p_> _A _r_e_s_o_u_r_c_e _d_a_t_a_b_a_s_e _n_e_v_e_r _c_o_n_t_a_i_n_s _m_o_r_e _t_h_a_n _o_n_e _e_n_t_r_y _f_o_r _a _g_i_v_e_n _R_e_s_o_u_r_c_e_N_a_m_e_. _I_f _a _r_e_s_o_u_r_c_e _f_i_l_e _c_o_n_t_a_i_n_s _m_u_l_t_i_p_l_e _l_i_n_e_s _w_i_t_h _t_h_e _s_a_m_e _R_e_s_o_u_r_c_e_N_a_m_e_, _t_h_e _l_a_s_t _l_i_n_e _i_n _t_h_e _f_i_l_e _i_s _u_s_e_d_. _<_p_> _A_n_y _w_h_i_t_e_s_p_a_c_e _c_h_a_r_a_c_t_e_r _b_e_f_o_r_e _o_r _a_f_t_e_r _t_h_e _n_a_m_e _o_r _c_o_l_o_n _i_n _a _R_e_s_o_u_r_c_e_S_p_e_c _a_r_e _i_g_n_o_r_e_d_. _T_o _a_l_l_o_w _a _V_a_l_u_e _t_o _b_e_g_i_n _w_i_t_h _w_h_i_t_e_s_p_a_c_e_, _t_h_e _t_w_o_-_c_h_a_r_a_c_t_e_r _s_e_q_u_e_n_c_e _`_`_\_s_p_a_c_e_'_' _(_b_a_c_k_s_l_a_s_h _f_o_l_l_o_w_e_d _b_y _s_p_a_c_e_) _i_s _r_e_c_o_g_n_i_z_e_d _a_n_d _r_e_p_l_a_c_e_d _b_y _a _s_p_a_c_e _c_h_a_r_a_c_t_e_r_, _a_n_d _t_h_e _t_w_o_-_c_h_a_r_a_c_t_e_r _s_e_q_u_e_n_c_e _`_`_\_t_a_b_'_' _(_b_a_c_k_s_l_a_s_h _f_o_l_l_o_w_e_d _b_y _h_o_r_i_z_o_n_t_a_l _t_a_b_) _i_s _r_e_c_o_g_n_i_z_e_d _a_n_d _r_e_p_l_a_c_e_d _b_y _a _h_o_r_i_z_o_n_t_a_l _t_a_b _c_h_a_r_a_c_t_e_r_. _T_o _a_l_l_o_w _a _V_a_l_u_e _t_o _c_o_n_t_a_i_n _e_m_b_e_d_d_e_d _n_e_w_l_i_n_e _c_h_a_r_a_c_t_e_r_s_, _t_h_e _t_w_o_-_c_h_a_r_a_c_t_e_r _s_e_q_u_e_n_c_e _`_`_\_n_'_' _i_s _r_e_c_o_g_n_i_z_e_d _a_n_d _r_e_p_l_a_c_e_d _b_y _a _n_e_w_l_i_n_e _c_h_a_r_a_c_t_e_r_. _T_o _a_l_l_o_w _a _V_a_l_u_e _t_o _b_e _b_r_o_k_e_n _a_c_r_o_s_s _m_u_l_t_i_p_l_e _l_i_n_e_s _i_n _a _t_e_x_t _f_i_l_e_, _t_h_e _t_w_o_-_c_h_a_r_a_c_t_e_r _s_e_q_u_e_n_c_e _`_`_\_n_e_w_l_i_n_e_'_' _(_b_a_c_k_s_l_a_s_h _f_o_l_l_o_w_e_d _b_y _n_e_w_l_i_n_e_) _i_s _r_e_c_o_g_n_i_z_e_d _a_n_d _r_e_m_o_v_e_d _f_r_o_m _t_h_e _v_a_l_u_e_. _T_o _a_l_l_o_w _a _V_a_l_u_e _t_o _c_o_n_t_a_i_n _a_r_b_i_t_r_a_r_y _c_h_a_r_a_c_t_e_r _c_o_d_e_s_, _t_h_e _f_o_u_r_-_c_h_a_r_a_c_t_e_r _s_e_q_u_e_n_c_e _`_`_\_n_n_n_'_'_, _w_h_e_r_e _e_a_c_h _n _i_s _a _d_i_g_i_t _c_h_a_r_a_c_t_e_r _i_n _t_h_e _r_a_n_g_e _o_f _`_`_0_'_'_-_`_`_7_'_'_, _i_s _r_e_c_o_g_n_i_z_e_d _a_n_d _r_e_p_l_a_c_e_d _w_i_t_h _a _s_i_n_g_l_e _b_y_t_e _t_h_a_t _c_o_n_t_a_i_n_s _t_h_e _o_c_t_a_l _v_a_l_u_e _s_p_e_c_i_f_i_e_d _b_y _t_h_e _s_e_q_u_e_n_c_e_. _F_i_n_a_l_l_y_, _t_h_e _t_w_o_-_c_h_a_r_a_c_t_e_r _s_e_q_u_e_n_c_e _`_`_\_\_'_' _i_s _r_e_c_o_g_n_i_z_e_d _a_n_d _r_e_p_l_a_c_e_d _w_i_t_h _a _s_i_n_g_l_e _b_a_c_k_s_l_a_s_h_. _<_p_> _W_h_e_n _a_n _a_p_p_l_i_c_a_t_i_o_n _l_o_o_k_s _f_o_r _t_h_e _v_a_l_u_e _o_f _a _r_e_s_o_u_r_c_e_, _i_t _s_p_e_c_i_f_i_e_s _a _c_o_m_p_l_e_t_e _p_a_t_h _i_n _t_h_e _h_i_e_r_a_r_c_h_y_, _w_i_t_h _b_o_t_h _c_l_a_s_s _a_n_d _i_n_s_t_a_n_c_e _n_a_m_e_s_. _H_o_w_e_v_e_r_, _r_e_s_o_u_r_c_e _v_a_l_u_e_s _a_r_e _u_s_u_a_l_l_y _g_i_v_e_n _w_i_t_h _o_n_l_y _p_a_r_t_i_a_l_l_y _s_p_e_c_i_f_i_e_d _n_a_m_e_s _a_n_d _c_l_a_s_s_e_s_, _u_s_i_n_g _p_a_t_t_e_r_n _m_a_t_c_h_i_n_g _c_o_n_s_t_r_u_c_t_s_. _A_n _a_s_t_e_r_i_s_k _(_*_) _i_s _a _l_o_o_s_e _b_i_n_d_i_n_g _a_n_d _i_s _u_s_e_d _t_o _r_e_p_r_e_s_e_n_t _a_n_y _n_u_m_b_e_r _o_f _i_n_t_e_r_v_e_n_i_n_g _c_o_m_p_o_n_e_n_t_s_, _i_n_c_l_u_d_i_n_g _n_o_n_e_. _A _p_e_r_i_o_d _(_._) _i_s _a _t_i_g_h_t _b_i_n_d_i_n_g _a_n_d _i_s _u_s_e_d _t_o _s_e_p_a_r_a_t_e _i_m_m_e_d_i_a_t_e_l_y _a_d_j_a_c_e_n_t _c_o_m_p_o_n_e_n_t_s_. _A _q_u_e_s_t_i_o_n _m_a_r_k _(_?_) _i_s _u_s_e_d _t_o _m_a_t_c_h _a_n_y _s_i_n_g_l_e _c_o_m_p_o_n_e_n_t _n_a_m_e _o_r _c_l_a_s_s_. _A _d_a_t_a_b_a_s_e _e_n_t_r_y _c_a_n_n_o_t _e_n_d _i_n _a _l_o_o_s_e _b_i_n_d_i_n_g_; _t_h_e _f_i_n_a_l _c_o_m_p_o_n_e_n_t _(_w_h_i_c_h _c_a_n_n_o_t _b_e _"_?_"_) _m_u_s_t _b_e _s_p_e_c_i_f_i_e_d_. _T_h_e _l_o_o_k_u_p _a_l_g_o_r_i_t_h_m _s_e_a_r_c_h_e_s _t_h_e _r_e_s_o_u_r_c_e _d_a_t_a_b_a_s_e _f_o_r _t_h_e _e_n_t_r_y _t_h_a_t _m_o_s_t _c_l_o_s_e_l_y _m_a_t_c_h_e_s _(_i_s _m_o_s_t _s_p_e_c_i_f_i_c _f_o_r_) _t_h_e _f_u_l_l _n_a_m_e _a_n_d _c_l_a_s_s _b_e_i_n_g _q_u_e_r_i_e_d_. _W_h_e_n _m_o_r_e _t_h_a_n _o_n_e _d_a_t_a_b_a_s_e _e_n_t_r_y _m_a_t_c_h_e_s _t_h_e _f_u_l_l _n_a_m_e _a_n_d _c_l_a_s_s_, _p_r_e_c_e_d_e_n_c_e _r_u_l_e_s _a_r_e _u_s_e_d _t_o _s_e_l_e_c_t _j_u_s_t _o_n_e_. _<_p_> _T_h_e _f_u_l_l _n_a_m_e _a_n_d _c_l_a_s_s _a_r_e _s_c_a_n_n_e_d _f_r_o_m _l_e_f_t _t_o _r_i_g_h_t _(_f_r_o_m _h_i_g_h_e_s_t _l_e_v_e_l _i_n _t_h_e _h_i_e_r_a_r_c_h_y _t_o _l_o_w_e_s_t_)_, _o_n_e _c_o_m_p_o_n_e_n_t _a_t _a _t_i_m_e_. _A_t _e_a_c_h _l_e_v_e_l_, _t_h_e _c_o_r_r_e_s_p_o_n_d_i_n_g _c_o_m_p_o_n_e_n_t _a_n_d_/_o_r _b_i_n_d_i_n_g _o_f _e_a_c_h _m_a_t_c_h_i_n_g _e_n_t_r_y _i_s _d_e_t_e_r_m_i_n_e_d_, _a_n_d _t_h_e_s_e _m_a_t_c_h_i_n_g _c_o_m_p_o_n_e_n_t_s _a_n_d _b_i_n_d_i_n_g_s _a_r_e _c_o_m_p_a_r_e_d _a_c_c_o_r_d_i_n_g _t_o _p_r_e_c_e_d_e_n_c_e _r_u_l_e_s_. _E_a_c_h _o_f _t_h_e _r_u_l_e_s _i_s _a_p_p_l_i_e_d _a_t _e_a_c_h _l_e_v_e_l_, _b_e_f_o_r_e _m_o_v_i_n_g _t_o _t_h_e _n_e_x_t _l_e_v_e_l_, _u_n_t_i_l _a _r_u_l_e _s_e_l_e_c_t_s _a _s_i_n_g_l_e _e_n_t_r_y _o_v_e_r _a_l_l _o_t_h_e_r_s_. _T_h_e _r_u_l_e_s _(_i_n _o_r_d_e_r _o_f _p_r_e_c_e_d_e_n_c_e_) _a_r_e_: _<_d_l _c_o_m_p_a_c_t_> _<_d_t_> _<_b_>_1_._<_/_b_> _A_n _e_n_t_r_y _t_h_a_t _c_o_n_t_a_i_n_s _a _m_a_t_c_h_i_n_g _c_o_m_p_o_n_e_n_t _(_w_h_e_t_h_e_r _n_a_m_e_, _c_l_a_s_s_, _o_r _"_?_"_) _<_d_d_> _t_a_k_e_s _p_r_e_c_e_d_e_n_c_e _o_v_e_r _e_n_t_r_i_e_s _t_h_a_t _e_l_i_d_e _t_h_e _l_e_v_e_l _(_t_h_a_t _i_s_, _e_n_t_r_i_e_s _t_h_a_t _m_a_t_c_h _t_h_e _l_e_v_e_l _i_n _a _l_o_o_s_e _b_i_n_d_i_n_g_)_. _<_d_t_> _<_b_>_2_._<_/_b_> _A_n _e_n_t_r_y _w_i_t_h _a _m_a_t_c_h_i_n_g _n_a_m_e _t_a_k_e_s _p_r_e_c_e_d_e_n_c_e _o_v_e_r _b_o_t_h _<_d_d_> _e_n_t_r_i_e_s _w_i_t_h _a _m_a_t_c_h_i_n_g _c_l_a_s_s _a_n_d _e_n_t_r_i_e_s _t_h_a_t _m_a_t_c_h _u_s_i_n_g _"_?_"_. _A_n _e_n_t_r_y _w_i_t_h _a _m_a_t_c_h_i_n_g _c_l_a_s_s _t_a_k_e_s _p_r_e_c_e_d_e_n_c_e _o_v_e_r _e_n_t_r_i_e_s _t_h_a_t _m_a_t_c_h _u_s_i_n_g _"_?_"_. _<_d_t_> _<_b_>_3_._<_/_b_> _A_n _e_n_t_r_y _p_r_e_c_e_d_e_d _b_y _a _t_i_g_h_t _b_i_n_d_i_n_g _t_a_k_e_s _p_r_e_c_e_d_e_n_c_e _o_v_e_r _e_n_t_r_i_e_s _<_d_d_> _p_r_e_c_e_d_e_d _b_y _a _l_o_o_s_e _b_i_n_d_i_n_g_. _<_/_d_l_> _<_p_> _P_r_o_g_r_a_m_s _b_a_s_e_d _o_n _t_h_e _X _T_o_o_k_i_t _I_n_t_r_i_n_s_i_c_s _o_b_t_a_i_n _r_e_s_o_u_r_c_e_s _f_r_o_m _t_h_e _f_o_l_l_o_w_i_n_g _s_o_u_r_c_e_s _(_o_t_h_e_r _p_r_o_g_r_a_m_s _u_s_u_a_l_l_y _s_u_p_p_o_r_t _s_o_m_e _s_u_b_s_e_t _o_f _t_h_e_s_e _s_o_u_r_c_e_s_)_: _<_d_l _c_o_m_p_a_c_t_> _<_d_t_> _<_b_>_R_E_S_O_U_R_C_E___M_A_N_A_G_E_R _r_o_o_t _w_i_n_d_o_w _p_r_o_p_e_r_t_y_<_/_b_> _<_d_d_> _A_n_y _g_l_o_b_a_l _r_e_s_o_u_r_c_e_s _t_h_a_t _s_h_o_u_l_d _b_e _a_v_a_i_l_a_b_l_e _t_o _c_l_i_e_n_t_s _o_n _a_l_l _m_a_c_h_i_n_e_s _s_h_o_u_l_d _b_e _s_t_o_r_e_d _i_n _t_h_e _R_E_S_O_U_R_C_E___M_A_N_A_G_E_R _p_r_o_p_e_r_t_y _o_n _t_h_e _r_o_o_t _w_i_n_d_o_w _o_f _t_h_e _f_i_r_s_t _s_c_r_e_e_n _u_s_i_n_g _t_h_e _x_r_d_b _p_r_o_g_r_a_m_. _T_h_i_s _i_s _f_r_e_q_u_e_n_t_l_y _t_a_k_e_n _c_a_r_e _o_f _w_h_e_n _t_h_e _u_s_e_r _s_t_a_r_t_s _u_p _X _t_h_r_o_u_g_h _t_h_e _d_i_s_p_l_a_y _m_a_n_a_g_e_r _o_r _x_i_n_i_t_. _<_d_t_> _<_b_>_S_C_R_E_E_N___R_E_S_O_U_R_C_E_S _r_o_o_t _w_i_n_d_o_w _p_r_o_p_e_r_t_y_<_/_b_> _<_d_d_> _A_n_y _r_e_s_o_u_r_c_e_s _s_p_e_c_i_f_i_c _t_o _a _g_i_v_e_n _s_c_r_e_e_n _(_e_._g_. _c_o_l_o_r_s_) _t_h_a_t _s_h_o_u_l_d _b_e _a_v_a_i_l_a_b_l_e _t_o _c_l_i_e_n_t_s _o_n _a_l_l _m_a_c_h_i_n_e_s _s_h_o_u_l_d _b_e _s_t_o_r_e_d _i_n _t_h_e _S_C_R_E_E_N___R_E_S_O_U_R_C_E_S _p_r_o_p_e_r_t_y _o_n _t_h_e _r_o_o_t _w_i_n_d_o_w _o_f _t_h_a_t _s_c_r_e_e_n_. _T_h_e _x_r_d_b _p_r_o_g_r_a_m _w_i_l_l _s_o_r_t _r_e_s_o_u_r_c_e_s _a_u_t_o_m_a_t_i_c_a_l_l_y _a_n_d _p_l_a_c_e _t_h_e_m _i_n _R_E_S_O_U_R_C_E___M_A_N_A_G_E_R _o_r _S_C_R_E_E_N___R_E_S_O_U_R_C_E_S_, _a_s _a_p_p_r_o_p_r_i_a_t_e_. _<_d_t_> _<_b_>_a_p_p_l_i_c_a_t_i_o_n_-_s_p_e_c_i_f_i_c _f_i_l_e_s_<_/_b_> _<_d_d_> _D_i_r_e_c_t_o_r_i_e_s _n_a_m_e_d _b_y _t_h_e _e_n_v_i_r_o_n_m_e_n_t _v_a_r_i_a_b_l_e _X_U_S_E_R_F_I_L_E_S_E_A_R_C_H_P_A_T_H _o_r _t_h_e _e_n_v_i_r_o_n_m_e_n_t _v_a_r_i_a_b_l_e _X_A_P_P_L_R_E_S_D_I_R _(_w_h_i_c_h _n_a_m_e_s _a _s_i_n_g_l_e _d_i_r_e_c_t_o_r_y _a_n_d _s_h_o_u_l_d _e_n_d _w_i_t_h _a _'_/_' _o_n _P_O_S_I_X _s_y_s_t_e_m_s_)_, _p_l_u_s _d_i_r_e_c_t_o_r_i_e_s _i_n _a _s_t_a_n_d_a_r_d _p_l_a_c_e _(_u_s_u_a_l_l_y _u_n_d_e_r _/_u_s_r_/_X_1_1_R_6_/_l_i_b_/_X_1_1_/_, _b_u_t _t_h_i_s _c_a_n _b_e _o_v_e_r_r_i_d_d_e_n _w_i_t_h _t_h_e _X_F_I_L_E_S_E_A_R_C_H_P_A_T_H _e_n_v_i_r_o_n_m_e_n_t _v_a_r_i_a_b_l_e_) _a_r_e _s_e_a_r_c_h_e_d _f_o_r _f_o_r _a_p_p_l_i_c_a_t_i_o_n_-_s_p_e_c_i_f_i_c _r_e_s_o_u_r_c_e_s_. _F_o_r _e_x_a_m_p_l_e_, _a_p_p_l_i_c_a_t_i_o_n _d_e_f_a_u_l_t _r_e_s_o_u_r_c_e_s _a_r_e _u_s_u_a_l_l_y _k_e_p_t _i_n _/_u_s_r_/_X_1_1_R_6_/_l_i_b_/_X_1_1_/_a_p_p_-_d_e_f_a_u_l_t_s_/_. _S_e_e _t_h_e _X _T_o_o_l_k_i_t _I_n_t_r_i_n_s_i_c_s _- _C _L_a_n_g_u_a_g_e _I_n_t_e_r_f_a_c_e _m_a_n_u_a_l _f_o_r _d_e_t_a_i_l_s_. _<_d_t_> _<_b_>_X_E_N_V_I_R_O_N_M_E_N_T_<_/_b_> _<_d_d_> _A_n_y _u_s_e_r_- _a_n_d _m_a_c_h_i_n_e_-_s_p_e_c_i_f_i_c _r_e_s_o_u_r_c_e_s _m_a_y _b_e _s_p_e_c_i_f_i_e_d _b_y _s_e_t_t_i_n_g _t_h_e _X_E_N_V_I_R_O_N_M_E_N_T _e_n_v_i_r_o_n_m_e_n_t _v_a_r_i_a_b_l_e _t_o _t_h_e _n_a_m_e _o_f _a _r_e_s_o_u_r_c_e _f_i_l_e _t_o _b_e _l_o_a_d_e_d _b_y _a_l_l _a_p_p_l_i_c_a_t_i_o_n_s_. _I_f _t_h_i_s _v_a_r_i_a_b_l_e _i_s _n_o_t _d_e_f_i_n_e_d_, _a _f_i_l_e _n_a_m_e_d _$_H_O_M_E_/_._X_d_e_f_a_u_l_t_s_-_h_o_s_t_n_a_m_e _i_s _l_o_o_k_e_d _f_o_r _i_n_s_t_e_a_d_, _w_h_e_r_e _h_o_s_t_n_a_m_e _i_s _t_h_e _n_a_m_e _o_f _t_h_e _h_o_s_t _w_h_e_r_e _t_h_e _a_p_p_l_i_c_a_t_i_o_n _i_s _e_x_e_c_u_t_i_n_g_. _<_d_t_> _<_b_>_-_x_r_m _r_e_s_o_u_r_c_e_s_t_r_i_n_g_<_/_b_> _<_d_d_> _R_e_s_o_u_r_c_e_s _c_a_n _a_l_s_o _b_e _s_p_e_c_i_f_i_e_d _f_r_o_m _t_h_e _c_o_m_m_a_n_d _l_i_n_e_. _T_h_e _r_e_s_o_u_r_c_e_s_t_r_i_n_g _i_s _a _s_i_n_g_l_e _r_e_s_o_u_r_c_e _n_a_m_e _a_n_d _v_a_l_u_e _a_s _s_h_o_w_n _a_b_o_v_e_. _N_o_t_e _t_h_a_t _i_f _t_h_e _s_t_r_i_n_g _c_o_n_t_a_i_n_s _c_h_a_r_a_c_t_e_r_s _i_n_t_e_r_p_r_e_t_e_d _b_y _t_h_e _s_h_e_l_l _(_e_._g_._, _a_s_t_e_r_i_s_k_)_, _t_h_e_y _m_u_s_t _b_e _q_u_o_t_e_d_. _A_n_y _n_u_m_b_e_r _o_f --xxrrmm _a_r_g_u_m_e_n_t_s _m_a_y _b_e _g_i_v_e_n _o_n _t_h_e _c_o_m_m_a_n_d _l_i_n_e_. _<_/_d_l_> _<_p_> _P_r_o_g_r_a_m _r_e_s_o_u_r_c_e_s _a_r_e _o_r_g_a_n_i_z_e_d _i_n_t_o _g_r_o_u_p_s _c_a_l_l_e_d _c_l_a_s_s_e_s_, _s_o _t_h_a_t _c_o_l_l_e_c_t_i_o_n_s _o_f _i_n_d_i_v_i_d_u_a_l _r_e_s_o_u_r_c_e_s _(_e_a_c_h _o_f _w_h_i_c_h _a_r_e _c_a_l_l_e_d _i_n_s_t_a_n_c_e_s_) _c_a_n _b_e _s_e_t _a_l_l _a_t _o_n_c_e_. _B_y _c_o_n_v_e_n_t_i_o_n_, _t_h_e _i_n_s_t_a_n_c_e _n_a_m_e _o_f _a _r_e_s_o_u_r_c_e _b_e_g_i_n_s _w_i_t_h _a _l_o_w_e_r_c_a_s_e _l_e_t_t_e_r _a_n_d _c_l_a_s_s _n_a_m_e _w_i_t_h _a_n _u_p_p_e_r _c_a_s_e _l_e_t_t_e_r_. _M_u_l_t_i_p_l_e _w_o_r_d _r_e_s_o_u_r_c_e_s _a_r_e _c_o_n_c_a_t_e_n_a_t_e_d _w_i_t_h _t_h_e _f_i_r_s_t _l_e_t_t_e_r _o_f _t_h_e _s_u_c_c_e_e_d_i_n_g _w_o_r_d_s _c_a_p_i_t_a_l_i_z_e_d_. _A_p_p_l_i_c_a_t_i_o_n_s _w_r_i_t_t_e_n _w_i_t_h _t_h_e _X _T_o_o_l_k_i_t _I_n_t_r_i_n_s_i_c_s _w_i_l_l _h_a_v_e _a_t _l_e_a_s_t _t_h_e _f_o_l_l_o_w_i_n_g _r_e_s_o_u_r_c_e_s_: _<_p_> _<_d_l _c_o_m_p_a_c_t_> _<_d_t_> _<_b_>_b_a_c_k_g_r_o_u_n_d _(_c_l_a_s_s BBaacckkggrroouunndd))<> <> TThhiiss rreessoouurrccee ssppeecciiffiieess tthhee ccoolloorr ttoo uussee ffoorr tthhee wwiinnddooww bbaacckkggrroouunndd.. <> <> <> <> <>bboorrddeerrWWiiddtthh ((_c_l_a_s_s BBoorrddeerrWWiiddtthh))<> <> TThhiiss rreessoouurrccee ssppeecciiffiieess tthhee wwiiddtthh iinn ppiixxeellss ooff tthhee wwiinnddooww bboorrddeerr.. <> <> <> <> <>bboorrddeerrCCoolloorr ((_c_l_a_s_s BBoorrddeerrCCoolloorr))<> <> TThhiiss rreessoouurrccee ssppeecciiffiieess tthhee ccoolloorr ttoo uussee ffoorr tthhee wwiinnddooww bboorrddeerr.. <> <> MMoosstt aapppplliiccaattiioonnss uussiinngg tthhee XX TToooollkkiitt IInnttrriinnssiiccss aallssoo hhaavvee tthhee rreessoouurrccee ffoorreeggrroouunndd ((ccllaassss FFoorreeggrroouunndd)),, ssppeecciiffyyiinngg tthhee ccoolloorr ttoo uussee ffoorr tteexxtt aanndd ggrraapphhiiccss wwiitthhiinn tthhee wwiinnddooww.. <> BByy ccoommbbiinniinngg ccllaassss aanndd iinnssttaannccee ssppeecciiffiiccaattiioonnss,, aapppplliiccaattiioonn pprreeffeerreenncceess ccaann bbee sseett qquuiicckkllyy aanndd eeaassiillyy.. UUsseerrss ooff ccoolloorr ddiissppllaayyss wwiillll ffrreeqquueennttllyy wwaanntt ttoo sseett BBaacckkggrroouunndd aanndd FFoorreeggrroouunndd ccllaasssseess ttoo ppaarrttiiccuullaarr ddeeffaauullttss.. SSppeecciiffiicc ccoolloorr iinnssttaanncceess ssuucchh aass tteexxtt ccuurrssoorrss ccaann tthheenn bbee oovveerrrriiddddeenn wwiitthhoouutt hhaavviinngg ttoo ddeeffiinnee aallll ooff tthhee rreellaatteedd rreessoouurrcceess.. FFoorr eexxaammppllee,, <><> <> <> bbiittmmaapp**DDaasshheedd:: ooffff XXTTeerrmm**ccuurrssoorrCCoolloorr:: ggoolldd XXTTeerrmm**mmuullttiiSSccrroollll:: oonn XXTTeerrmm**jjuummppSSccrroollll:: oonn XXTTeerrmm**rreevveerrsseeWWrraapp:: oonn XXTTeerrmm**ccuurrsseess:: oonn XXTTeerrmm**FFoonntt:: 66xx1100 XXTTeerrmm**ssccrroollllBBaarr:: oonn XXTTeerrmm**ssccrroollllbbaarr**tthhiicckknneessss:: 55 XXTTeerrmm**mmuullttiiCClliicckkTTiimmee:: 550000 XXTTeerrmm**cchhaarrCCllaassss:: 3333::4488,,3377::4488,,4455--4477::4488,,6644::4488 XXTTeerrmm**ccuuttNNeewwlliinnee:: ooffff XXTTeerrmm**ccuuttTTooBBeeggiinnnniinnggOOffLLiinnee:: ooffff XXTTeerrmm**ttiitteeIInnhhiibbiitt:: oonn XXTTeerrmm**ttttyyMMooddeess:: iinnttrr ^^cc eerraassee ^^?? kkiillll ^^uu XXLLooaadd**BBaacckkggrroouunndd:: ggoolldd XXLLooaadd**FFoorreeggrroouunndd:: rreedd XXLLooaadd**hhiigghhlliigghhtt:: bbllaacckk XXLLooaadd**bboorrddeerrWWiiddtthh:: 00 eemmaaccss**GGeeoommeettrryy:: 8800xx6655--00--00 eemmaaccss**BBaacckkggrroouunndd:: rrggbb::55bb//7766//8866 eemmaaccss**FFoorreeggrroouunndd:: wwhhiittee eemmaaccss**CCuurrssoorr:: wwhhiittee eemmaaccss**BBoorrddeerrCCoolloorr:: wwhhiittee eemmaaccss**FFoonntt:: 66xx1100 xxmmaagg**ggeeoommeettrryy:: --00--00 xxmmaagg**bboorrddeerrCCoolloorr:: wwhhiittee <> <> IIff tthheessee rreessoouurrcceess wweerree ssttoorreedd iinn aa ffiillee ccaalllleedd _._X_r_e_s_o_u_r_c_e_s iinn yyoouurr hhoommee ddiirreeccttoorryy,, tthheeyy ccoouulldd bbee aaddddeedd ttoo aannyy eexxiissttiinngg rreessoouurrcceess iinn tthhee sseerrvveerr wwiitthh tthhee ffoolllloowwiinngg ccoommmmaanndd:: <><> <> <> %% xxrrddbb --mmeerrggee $$HHOOMMEE//..XXrreessoouurrcceess <> <><> TThhiiss iiss ffrreeqquueennttllyy hhooww uusseerr--ffrriieennddllyy ssttaarrttuupp ssccrriippttss mmeerrggee uusseerr--ssppeecciiffiicc ddeeffaauullttss iinnttoo aannyy ssiittee--wwiiddee ddeeffaauullttss.. AAllll ssiitteess aarree eennccoouurraaggeedd ttoo sseett uupp ccoonnvveenniieenntt wwaayyss ooff aauuttoommaattiiccaallllyy llooaaddiinngg rreessoouurrcceess.. SSeeee tthhee _X_l_i_b mmaannuuaall sseeccttiioonn _R_e_s_o_u_r_c_e _M_a_n_a_g_e_r _F_u_n_c_t_i_o_n_s ffoorr mmoorree iinnffoorrmmaattiioonn.. <> EENNVVIIRROONNMMEENNTT <> <> <> <> <> <>DDIISSPPLLAAYY<> <> TThhiiss iiss tthhee oonnllyy mmaannddaattoorryy eennvviirroonnmmeenntt vvaarriiaabbllee.. IItt mmuusstt ppooiinntt ttoo aann XX sseerrvveerr.. SSeeee sseeccttiioonn ""DDiissppllaayy NNaammeess"" aabboovvee.. <> <> <> <>XXAAUUTTHHOORRIITTYY<> <> TThhiiss mmuusstt ppooiinntt ttoo aa ffiillee tthhaatt ccoonnttaaiinnss aauutthhoorriizzaattiioonn ddaattaa.. TThhee ddeeffaauulltt iiss _$_H_O_M_E_/_._X_a_u_t_h_o_r_i_t_y.. SSeeee <>XXsseeccuurriittyy((77))<> <>xxaauutthh((11))<> <>xxddmm((11))<> <>XXaauu((33))<> <> <> <> <>IICCEEAAUUTTHHOORRIITTYY<> <> TThhiiss mmuusstt ppooiinntt ttoo aa ffiillee tthhaatt ccoonnttaaiinnss aauutthhoorriizzaattiioonn ddaattaa.. TThhee ddeeffaauulltt iiss _$_H_O_M_E_/_._I_C_E_a_u_t_h_o_r_i_t_y.. <> <> <> <>LLCC__AALLLL<>,, <>LLCC__CCTTYYPPEE<>,, LLAANNGG <> TThhee ffiirrsstt nnoonn--eemmppttyy vvaalluuee aammoonngg tthheessee tthhrreeee ddeetteerrmmiinneess tthhee ccuurrrreenntt llooccaallee''ss ffaacceett ffoorr cchhaarraacctteerr hhaannddlliinngg,, aanndd iinn ppaarrttiiccuullaarr tthhee ddeeffaauulltt tteexxtt eennccooddiinngg.. SSeeee <>llooccaallee((77))<> <>sseettllooccaallee((33))<> <>llooccaallee((11))<> <> <> <> <>XXMMOODDIIFFIIEERRSS<> <> TThhiiss vvaarriiaabbllee ccaann bbee sseett ttoo ccoonnttaaiinn aaddddiittiioonnaall iinnffoorrmmaattiioonn iimmppoorrttaanntt ffoorr tthhee ccuurrrreenntt llooccaallee sseettttiinngg.. TTyyppiiccaallllyy sseett ttoo _@_i_m_=_<_i_n_p_u_t_-_m_e_t_h_o_d_> ttoo eennaabbllee aa ppaarrttiiccuullaarr iinnppuutt mmeetthhoodd.. SSeeee <>XXSSeettLLooccaalleeMMooddiiffiieerrss((33))<> <> <> <> <>XXLLOOCCAALLEEDDIIRR<> <> TThhiiss mmuusstt ppooiinntt ttoo aa ddiirreeccttoorryy ccoonnttaaiinniinngg tthhee llooccaallee..aalliiaass ffiillee aanndd CCoommppoossee aanndd XXLLCC__LLOOCCAALLEE ffiillee hhiieerraarrcchhiieess ffoorr aallll llooccaalleess.. TThhee ddeeffaauulltt vvaalluuee iiss _/_u_s_r_/_X_1_1_R_6_/_l_i_b_/_X_1_1_/_l_o_c_a_l_e.. <> <> <> <>XXEENNVVIIRROONNMMEENNTT<> <> TThhiiss mmuusstt ppooiinntt ttoo aa ffiillee ccoonnttaaiinniinngg XX rreessoouurrcceess.. TThhee ddeeffaauulltt iiss _$_H_O_M_E_/_._X_d_e_f_a_u_l_t_s_-_<_h_o_s_t_n_a_m_e_>.. UUnnlliikkee _/_u_s_r_/_X_1_1_R_6_/_l_i_b_/_X_1_1_/_X_r_e_s_o_u_r_c_e_s,, iitt iiss ccoonnssuulltteedd eeaacchh ttiimmee aann XX aapppplliiccaattiioonn ssttaarrttss.. <> <> <> <>XXFFIILLEESSEEAARRCCHHPPAATTHH<> <> TThhiiss mmuusstt ccoonnttaaiinn aa ccoolloonn sseeppaarraatteedd lliisstt ooff ppaatthh tteemmppllaatteess,, wwhheerree lliibbXXtt wwiillll sseeaarrcchh ffoorr rreessoouurrccee ffiilleess.. TThhee ddeeffaauulltt vvaalluuee ccoonnssiissttss ooff <><> <> <> //uussrr//XX1111RR66//lliibb//XX1111//%%LL//%%TT//%%NN%%CC%%SS::\\ //uussrr//XX1111RR66//lliibb//XX1111//%%ll//%%TT//%%NN%%CC%%SS::\\ //uussrr//XX1111RR66//lliibb//XX1111//%%TT//%%NN%%CC%%SS::\\ //uussrr//XX1111RR66//lliibb//XX1111//%%LL//%%TT//%%NN%%SS::\\ //uussrr//XX1111RR66//lliibb//XX1111//%%ll//%%TT//%%NN%%SS::\\ //uussrr//XX1111RR66//lliibb//XX1111//%%TT//%%NN%%SS <> <><> AA ppaatthh tteemmppllaattee iiss ttrraannssffoorrmmeedd ttoo aa ppaatthhnnaammee bbyy ssuubbssttiittuuttiinngg:: <><> <> <> %%NN ==>> nnaammee ((bbaasseennaammee)) bbeeiinngg sseeaarrcchheedd ffoorr %%TT ==>> ttyyppee ((ddiirrnnaammee)) bbeeiinngg sseeaarrcchheedd ffoorr %%SS ==>> ssuuffffiixx bbeeiinngg sseeaarrcchheedd ffoorr %%CC ==>> vvaalluuee ooff tthhee rreessoouurrccee ""ccuussttoommiizzaattiioonn"" ((ccllaassss ""CCuussttoommiizzaattiioonn"")) %%LL ==>> tthhee llooccaallee nnaammee %%ll ==>> tthhee llooccaallee''ss llaanngguuaaggee ((ppaarrtt bbeeffoorree ''__'')) %%tt ==>> tthhee llooccaallee''ss tteerrrriittoorryy ((ppaarrtt aafftteerr ''__`` bbuutt bbeeffoorree ''..'')) %%cc ==>> tthhee llooccaallee''ss eennccooddiinngg ((ppaarrtt aafftteerr ''..'')) <> <> <> <> <>XXUUSSEERRFFIILLEESSEEAARRCCHHPPAATTHH<> <> TThhiiss mmuusstt ccoonnttaaiinn aa ccoolloonn sseeppaarraatteedd lliisstt ooff ppaatthh tteemmppllaatteess,, wwhheerree lliibbXXtt wwiillll sseeaarrcchh ffoorr uusseerr ddeeppeennddeenntt rreessoouurrccee ffiilleess.. TThhee ddeeffaauulltt vvaalluuee iiss:: <><> <> <> $$XXAAPPPPLLRREESSDDIIRR//%%LL//%%NN%%CC::\\ $$XXAAPPPPLLRREESSDDIIRR//%%ll//%%NN%%CC::\\ $$XXAAPPPPLLRREESSDDIIRR//%%NN%%CC::\\ $$HHOOMMEE//%%NN%%CC::\\ $$XXAAPPPPLLRREESSDDIIRR//%%LL//%%NN::\\ $$XXAAPPPPLLRREESSDDIIRR//%%ll//%%NN::\\ $$XXAAPPPPLLRREESSDDIIRR//%%NN::\\ $$HHOOMMEE//%%NN <> <><> $$XXAAPPPPLLRREESSDDIIRR ddeeffaauullttss ttoo _$_H_O_M_E,, sseeee bbeellooww.. <><> AA ppaatthh tteemmppllaattee iiss ttrraannssffoorrmmeedd ttoo aa ppaatthhnnaammee bbyy ssuubbssttiittuuttiinngg:: <><> <> <> %%NN ==>> nnaammee ((bbaasseennaammee)) bbeeiinngg sseeaarrcchheedd ffoorr %%TT ==>> ttyyppee ((ddiirrnnaammee)) bbeeiinngg sseeaarrcchheedd ffoorr %%SS ==>> ssuuffffiixx bbeeiinngg sseeaarrcchheedd ffoorr %%CC ==>> vvaalluuee ooff tthhee rreessoouurrccee ""ccuussttoommiizzaattiioonn"" ((ccllaassss ""CCuussttoommiizzaattiioonn"")) %%LL ==>> tthhee llooccaallee nnaammee %%ll ==>> tthhee llooccaallee''ss llaanngguuaaggee ((ppaarrtt bbeeffoorree ''__'')) %%tt ==>> tthhee llooccaallee''ss tteerrrriittoorryy ((ppaarrtt aafftteerr ''__`` bbuutt bbeeffoorree ''..'')) %%cc ==>> tthhee llooccaallee''ss eennccooddiinngg ((ppaarrtt aafftteerr ''..'')) <> <> <> <> <>XXAAPPPPLLRREESSDDIIRR<> <> TThhiiss mmuusstt ppooiinntt ttoo aa bbaassee ddiirreeccttoorryy wwhheerree tthhee uusseerr ssttoorreess hhiiss aapppplliiccaattiioonn ddeeppeennddeenntt rreessoouurrccee ffiilleess.. TThhee ddeeffaauulltt vvaalluuee iiss _$_H_O_M_E.. OOnnllyy uusseedd iiff XXUUSSEERRFFIILLEESSEEAARRCCHHPPAATTHH iiss nnoott sseett.. <> <> <> <>XXKKEEYYSSYYMMDDBB<> <> TThhiiss mmuusstt ppooiinntt ttoo aa ffiillee ccoonnttaaiinniinngg nnoonnssttaannddaarrdd kkeeyyssyymm ddeeffiinniittiioonnss.. TThhee ddeeffaauulltt vvaalluuee iiss _/_u_s_r_/_X_1_1_R_6_/_l_i_b_/_X_1_1_/_X_K_e_y_s_y_m_D_B.. <> <> <> <>XXCCMMSSDDBB<> <> TThhiiss mmuusstt ppooiinntt ttoo aa ccoolloorr nnaammee ddaattaabbaassee ffiillee.. TThhee ddeeffaauulltt vvaalluuee iiss _/_u_s_r_/_X_1_1_R_6_/_l_i_b_/_X_1_1_/_X_c_m_s_._t_x_t.. <> <> <> <>XXFFTT__CCOONNFFIIGG<> <> TThhiiss mmuusstt ppooiinntt ttoo aa ccoonnffiigguurraattiioonn ffiillee ffoorr tthhee XXfftt lliibbrraarryy.. TThhee ddeeffaauulltt vvaalluuee iiss _/_u_s_r_/_X_1_1_R_6_/_l_i_b_/_X_1_1_/_X_f_t_C_o_n_f_i_g.. <> <> <> <>RREESSOOUURRCCEE__NNAAMMEE<> <> TThhiiss sseerrvveess aass mmaaiinn iiddeennttiiffiieerr ffoorr rreessoouurrcceess bbeelloonnggiinngg ttoo tthhee pprrooggrraamm bbeeiinngg eexxeeccuutteedd.. IItt ddeeffaauullttss ttoo tthhee bbaasseennaammee ooff ppaatthhnnaammee ooff tthhee pprrooggrraamm.. <> <> <> <>SSEESSSSIIOONN__MMAANNAAGGEERR<> <> DDeennootteess tthhee sseessssiioonn mmaannaaggeerr tthhee aapppplliiccaattiioonn sshhoouulldd ccoonnnneecctt.. SSeeee <>xxssmm((11))<> <>rrssttaarrtt((11))<> <> <> <> <>XXFF8866BBIIGGFFOONNTT__DDIISSAABBLLEE<> <> SSeettttiinngg tthhiiss vvaarriiaabbllee ttoo aa nnoonn--eemmppttyy vvaalluuee ddiissaabblleess tthhee XXFFrreeee8866--BBiiggffoonntt eexxtteennssiioonn.. TThhiiss eexxtteennssiioonn iiss aa mmeecchhaanniissmm ttoo rreedduuccee tthhee mmeemmoorryy ccoonnssuummppttiioonn ooff bbiigg ffoonnttss bbyy uussee ooff sshhaarreedd mmeemmoorryy.. <> <> <>XXKKBB__FFOORRCCEE<> <> <>XXKKBB__DDIISSAABBLLEE<> <> <>XXKKBB__DDEEBBUUGG<> <> <>__XXKKBB__CCHHAARRSSEETT<> <> <>__XXKKBB__LLOOCCAALLEE__CCHHAARRSSEETTSS<> <> <>__XXKKBB__OOPPTTIIOONNSS__EENNAABBLLEE<> <> <>__XXKKBB__LLAATTIINN11__LLOOOOKKUUPP<> <> <>__XXKKBB__CCOONNSSUUMMEE__LLOOOOKKUUPP__MMOODDSS<> <> <>__XXKKBB__CCOONNSSUUMMEE__SSHHIIFFTT__AANNDD__LLOOCCKK<> <> <>__XXKKBB__IIGGNNOORREE__NNEEWW__KKEEYYBBOOAARRDDSS<> <> <>__XXKKBB__CCOONNTTRROOLL__FFAALLLLBBAACCKK<> <> <>__XXKKBB__CCOOMMPP__LLEEDD<> <>__XXKKBB__CCOOMMPP__FFAAIILL__BBEEEEPP<> <> <> <> <> <><> <> TThheessee vvaarriiaabblleess iinnfflluueennccee tthhee XX KKeeyybbooaarrdd EExxtteennssiioonn.. <> <> EEXXAAMMPPLLEESS <> TThhee ffoolllloowwiinngg iiss aa ccoolllleeccttiioonn ooff ssaammppllee ccoommmmaanndd lliinneess ffoorr ssoommee ooff tthhee mmoorree ffrreeqquueennttllyy uusseedd ccoommmmaannddss.. FFoorr mmoorree iinnffoorrmmaattiioonn oonn aa ppaarrttiiccuullaarr ccoommmmaanndd,, pplleeaassee rreeffeerr ttoo tthhaatt ccoommmmaanndd''ss mmaannuuaall ppaaggee.. <><> <> <> %% xxrrddbb $$HHOOMMEE//..XXrreessoouurrcceess %% xxmmooddmmaapp --ee ""kkeeyyssyymm BBaacckkSSppaaccee == DDeelleettee"" %% mmkkffoonnttddiirr //uussrr//llooccaall//lliibb//XX1111//ootthheerrffoonnttss %% xxsseett ffpp++ //uussrr//llooccaall//lliibb//XX1111//ootthheerrffoonnttss %% xxmmooddmmaapp $$HHOOMMEE//..kkeeyymmaapp..kkmm %% xxsseettrroooott --ssoolliidd ''rrggbbii::..88//..88//..88'' %% xxsseett bb 110000 440000 cc 5500 ss 11880000 rr oonn %% xxsseett qq %% ttwwmm %% xxmmaagg %% xxcclloocckk --ggeeoommeettrryy 4488xx4488--00++00 --bbgg bblluuee --ffgg wwhhiittee %% xxeeyyeess --ggeeoommeettrryy 4488xx4488--4488++00 %% xxbbiiffff --uuppddaattee 2200 %% xxllssffoonnttss ''**hheellvveettiiccaa**'' %% xxwwiinniinnffoo --rroooott %% xxddppyyiinnffoo --ddiissppllaayy jjooeesswwoorrkkssttaattiioonn::00 %% xxhhoosstt --jjooeesswwoorrkkssttaattiioonn %% xxrreeffrreesshh %% xxwwdd || xxwwuudd %% bbiittmmaapp ccoommppaannyyllooggoo..bbmm 3322xx3322 %% xxccaallcc --bbgg bblluuee --ffgg mmaaggeennttaa %% xxtteerrmm --ggeeoommeettrryy 8800xx6666--00--00 --nnaammee mmyyxxtteerrmm $$** %% xxoonn ffiilleessyyssmmaacchhiinnee xxllooaadd <> <> DDIIAAGGNNOOSSTTIICCSS <> AA wwiiddee vvaarriieettyy ooff eerrrroorr mmeessssaaggeess aarree ggeenneerraatteedd ffrroomm vvaarriioouuss pprrooggrraammss.. TThhee ddeeffaauulltt eerrrroorr hhaannddlleerr iinn _X_l_i_b ((aallssoo uusseedd bbyy mmaannyy ttoooollkkiittss)) uusseess ssttaannddaarrdd rreessoouurrcceess ttoo ccoonnssttrruucctt ddiiaaggnnoossttiicc mmeessssaaggeess wwhheenn eerrrroorrss ooccccuurr.. TThhee ddeeffaauullttss ffoorr tthheessee mmeessssaaggeess aarree uussuuaallllyy ssttoorreedd iinn _/_u_s_r_/_X_1_1_R_6_/_l_i_b_/_X_1_1_/_X_E_r_r_o_r_D_B.. IIff tthhiiss ffiillee iiss nnoott pprreesseenntt,, eerrrroorr mmeessssaaggeess wwiillll bbee rraatthheerr tteerrssee aanndd ccrryyppttiicc.. <> WWhheenn tthhee XX TToooollkkiitt IInnttrriinnssiiccss eennccoouunntteerr eerrrroorrss ccoonnvveerrttiinngg rreessoouurrccee ssttrriinnggss ttoo tthhee aapppprroopprriiaattee iinntteerrnnaall ffoorrmmaatt,, nnoo eerrrroorr mmeessssaaggeess aarree uussuuaallllyy pprriinntteedd.. TThhiiss iiss ccoonnvveenniieenntt wwhheenn iitt iiss ddeessiirraabbllee ttoo hhaavvee oonnee sseett ooff rreessoouurrcceess aaccrroossss aa vvaarriieettyy ooff ddiissppllaayyss ((ee..gg.. ccoolloorr vvss.. mmoonnoocchhrroommee,, lloottss ooff ffoonnttss vvss.. vveerryy ffeeww,, eettcc..)),, aalltthhoouugghh iitt ccaann ppoossee pprroobblleemmss ffoorr ttrryyiinngg ttoo ddeetteerrmmiinnee wwhhyy aann aapppplliiccaattiioonn mmiigghhtt bbee ffaaiilliinngg.. TThhiiss bbeehhaavviioorr ccaann bbee oovveerrrriiddddeenn bbyy tthhee sseettttiinngg tthhee _S_t_r_i_n_g_C_o_n_v_e_r_s_i_o_n_s_W_a_r_n_i_n_g rreessoouurrccee.. <> TToo ffoorrccee tthhee XX TToooollkkiitt IInnttrriinnssiiccss ttoo aallwwaayyss pprriinntt ssttrriinngg ccoonnvveerrssiioonn eerrrroorr mmeessssaaggeess,, tthhee ffoolllloowwiinngg rreessoouurrccee sshhoouulldd bbee ppllaacceedd iinn tthhee ffiillee tthhaatt ggeettss llooaaddeedd oonnttoo tthhee RREESSOOUURRCCEE__MMAANNAAGGEERR pprrooppeerrttyy uussiinngg tthhee _x_r_d_b pprrooggrraamm ((ffrreeqquueennttllyy ccaalllleedd _._X_r_e_s_o_u_r_c_e_s oorr _._X_r_e_s iinn tthhee uusseerr''ss hhoommee ddiirreeccttoorryy)):: <><> <> <> **SSttrriinnggCCoonnvveerrssiioonnWWaarrnniinnggss:: oonn <> <><> TToo hhaavvee ccoonnvveerrssiioonn mmeessssaaggeess pprriinntteedd ffoorr jjuusstt aa ppaarrttiiccuullaarr aapppplliiccaattiioonn,, tthhee aapppprroopprriiaattee iinnssttaannccee nnaammee ccaann bbee ppllaacceedd bbeeffoorree tthhee aasstteerriisskk:: <><> <> <> xxtteerrmm**SSttrriinnggCCoonnvveerrssiioonnWWaarrnniinnggss:: oonn <> <> SSEEEE AALLSSOO <> <> <>XXSSttaannddaarrddss((77))<> <>XXsseeccuurriittyy((77))<> <>aapppprreess((11))<> <>bbddffttooppccff((11))<> <>bbiittmmaapp((11))<> <>eeddiittrreess((11))<> <>ffssiinnffoo((11))<> <>ffssllssffoonnttss((11))<> <>ffssttoobbddff((11))<> <>iicceeaauutthh((11))<> <>iimmaakkee((11))<> <>llbbxxpprrooxxyy((11))<> <>mmaakkeeddeeppeenndd((11))<> <>mmkkffoonnttddiirr((11))<> <>oocclloocckk((11))<> <>pprrooxxyymmnnggrr((11))<> <>rrggbb((11))<> <>rreessiizzee((11))<> <>rrssttaarrtt((11))<> <>ssmmpprrooxxyy((11))<> <>ttwwmm((11))<> <>xx1111ppeerrff((11))<> <>xx1111ppeerrffccoommpp((11))<> <>xxaauutthh((11))<> <>xxcclliippbbooaarrdd((11))<> <>xxcclloocckk((11))<> <>xxccmmssddbb((11))<> <>xxccoonnssoollee((11))<> <>xxddmm((11))<> <>xxddppyyiinnffoo((11))<> <>xxffdd((11))<> <>xxffiinnddpprrooxxyy((11))<> <>xxffss((11))<> <>xxffwwpp((11))<> <>xxhhoosstt((11))<> <>xxiieeppeerrff((11))<> <>xxiinniitt((11))<> <>xxkkbbbbeellll((11))<> <>xxkkbbccoommpp((11))<> <>xxkkbbeevvdd((11))<> <>xxkkbbpprriinntt((11))<> <>xxkkbbvvlleeddss((11))<> <>xxkkbbwwaattcchh((11))<> <>xxkkiillll((11))<> <>xxllooggoo((11))<> <>xxllssaattoommss((11))<> <>xxllsscclliieennttss((11))<> <>xxllssffoonnttss((11))<> <>xxmmaagg((11))<> <>xxmmhh((11))<> <>xxmmooddmmaapp((11))<> <>xxoonn((11))<> <>xxpprroopp((11))<> <>xxrrddbb((11))<> <>xxrreeffrreesshh((11))<> <>xxrrxx((11))<> <>xxsseett((11))<> <>xxsseettrroooott((11))<> <>xxssmm((11))<> <>xxssttddccmmaapp((11))<> <>xxtteerrmm((11))<> <>xxwwdd((11))<> <>xxwwiinniinnffoo((11))<> <>xxwwuudd((11))<> <>XXsseerrvveerr((11))<> <>XXddeecc((11))<> <>XXmmaaccIIII((11))<> <>XXssuunn((11))<> <>XXnneesstt((11))<> <>XXvvffbb((11))<> <>XXFFrreeee8866((11))<> <>XXDDaarrwwiinn((11))<> <>kkbbdd__mmooddee((11))<> <>XXlliibb -- CC LLaanngguuaaggee XX IInntteerrffaaccee,<> aanndd <>XX TToooollkkiitt IInnttrriinnssiiccss -- CC LLaanngguuaaggee IInntteerrffaaccee<> <> TTRRAADDEEMMAARRKKSS <> <> XX WWiinnddooww SSyysstteemm iiss aa ttrraaddeemmaarrkk ooff XX CCoonnssoorrttiiuumm,, IInncc.. <> AAUUTTHHOORRSS <> <> AA ccaasstt ooff tthhoouussaannddss,, lliitteerraallllyy.. TThhee RReelleeaassee 66..33 ddiissttrriibbuuttiioonn iiss bbrroouugghhtt ttoo yyoouu bbyy XX CCoonnssoorrttiiuumm,, IInncc.. TThhee nnaammeess ooff aallll ppeeooppllee wwhhoo mmaaddee iitt aa rreeaalliittyy wwiillll bbee ffoouunndd iinn tthhee iinnddiivviidduuaall ddooccuummeennttss aanndd ssoouurrccee ffiilleess.. TThhee ssttaaffff mmeemmbbeerrss aatt tthhee XX CCoonnssoorrttiiuumm rreessppoonnssiibbllee ffoorr tthhiiss rreelleeaassee aarree:: DDoonnnnaa CCoonnvveerrssee ((eemmeerriittuuss)),, SStteepphheenn GGiillddeeaa ((eemmeerriittuuss)),, KKaalleebb KKeeiitthhlleeyy,, MMaatttt LLaannddaauu ((eemmeerriittuuss)),, RRaallpphh MMoorr ((eemmeerriittuuss)),, JJaanneett OO''HHaalllloorraann,, BBoobb SScchheeiifflleerr,, RRaallpphh SSwwiicckk,, DDaavvee WWiiggggiinnss ((eemmeerriittuuss)),, aanndd RReeeedd AAuugglliieerree.. <> TThhee XX WWiinnddooww SSyysstteemm ssttaannddaarrdd wwaass oorriiggiinnaallllyy ddeevveellooppeedd aatt tthhee LLaabboorraattoorryy ffoorr CCoommppuutteerr SScciieennccee aatt tthhee MMaassssaacchhuusseettttss IInnssttiittuuttee ooff TTeecchhnnoollooggyy,, aanndd aallll rriigghhttss tthheerreettoo wweerree aassssiiggnneedd ttoo tthhee XX CCoonnssoorrttiiuumm oonn JJaannuuaarryy 11,, 11999944.. XX CCoonnssoorrttiiuumm,, IInncc.. cclloosseedd iittss ddoooorrss oonn DDeecceemmbbeerr 3311,, 11999966.. AAllll rriigghhttss ttoo tthhee XX WWiinnddooww SSyysstteemm hhaavvee bbeeeenn aassssiiggnneedd ttoo tthhee OOppeenn SSooffttwwaarree FFoouunnddaattiioonn.. <> <>