home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
InfoMagic Source Code 1993 July
/
THE_SOURCE_CODE_CD_ROM.iso
/
X
/
mit
/
doc
/
CLX
/
glossary.doc
< prev
next >
Encoding:
Amiga
Atari
Commodore
DOS
FM Towns/JPY
Macintosh
Macintosh JP
Macintosh to JP
NeXTSTEP
RISC OS/Acorn
Shift JIS
UTF-8
Wrap
Interleaf document
|
1989-10-18
|
38.7 KB
|
1,239 lines
<!OPS, Version = 5.2>
<!Document,
Print Rev Bars = no,
Final Output Device = "ps",
Default Printer = "nearest-adps">
<!Font Definitions,
F2 = Times 10,
F3 = Times 8 Italic,
F4 = Times 12 Bold,
F5 = Times 18 Bold,
F6 = Times 10 Bold,
F7 = Times 14 Bold,
F8 = Times 10 Italic,
F9 = Symbol_A 8,
F10 = Times 6,
F11 = Symbol_B 8>
<!Page,
Bottom Margin = 1 inches,
Left Margin = 1 inches,
Right Margin = 1.15 inches,
First Page = Right,
Starting Page # = Inherit,
Hyphenation = on,
Revision Bar Placement = Left,
Vert. Just. = off>
<!Autonumber Stream, List, 2,
Level 2 Suffix = ,
Level 2 Starting Value = 0,
Level 2 Show = no>
<!Autonumber Stream, Outline, 3,
Level 1 Symbol Type = UPPER ROMAN,
Level 2 Symbol Type = UPPER ALPHA>
<!Autonumber Stream, figure, 2,
Level 1 Prefix = "Figure ",
Level 1 Suffix = "<#1e>",
Level 1 Show = no,
Level 2 Suffix = ,
Level 2 Starting Value = 0,
Level 2 Show = no>
<!Autonumber Stream, figurelet, 2,
Level 1 Symbol Type = UPPER ALPHA,
Level 1 Prefix = "Figure ",
Level 1 Suffix = "<#1e>",
Level 1 Show = no,
Level 2 Suffix = "<#04>">
<!Autonumber Stream, invisible, 1,
Level 1 Suffix = ,
Level 1 Show = no>
<!Autonumber Stream, item, 2,
Level 2 Symbol Type = LOWER ALPHA,
Level 2 Trail = yes>
<!Autonumber Stream, paralet, 4,
Level 1 Symbol Type = UPPER ALPHA,
Level 1 Suffix = ,
Level 1 Show = no,
Level 2 Prefix = .,
Level 2 Suffix = ,
Level 3 Prefix = .,
Level 3 Suffix = ,
Level 4 Prefix = .,
Level 4 Suffix = >
<!Autonumber Stream, paranum, 4,
Level 1 Suffix = ,
Level 1 Show = no,
Level 2 Prefix = .,
Level 2 Suffix = ,
Level 3 Prefix = .,
Level 3 Suffix = ,
Level 4 Prefix = .,
Level 4 Suffix = >
<!Autonumber Stream, table, 2,
Level 1 Prefix = "Table ",
Level 1 Suffix = "<#1e>",
Level 1 Show = no,
Level 2 Suffix = >
<!Autonumber Stream, tablelet, 2,
Level 1 Symbol Type = UPPER ALPHA,
Level 1 Prefix = "Table ",
Level 1 Suffix = "<#1e>",
Level 1 Show = no,
Level 2 Suffix = "<#04>">
<!Class, bullet,
Bottom Margin = 0.153 inches,
Left Margin = 1.85 inches,
First Indent = -0.25 inches,
Line Spacing = 1.121 lines,
Font = F2,
Allow Page Break Within = no,
Left Tab = -0.50/0 inches>
<!Class, caption,
Top Margin = 0.07 inches,
Bottom Margin = 0.07 inches,
Line Spacing = 1.100 lines,
Font = F3>
<!Class, gloss1,
Bottom Margin = 0 inches,
Left Margin = 1.60 inches,
First Indent = -1.60 inches,
Line Spacing = 1.121 lines,
Font = F2,
Allow Page Break Within = no,
Allow Page Break After = no,
Left Tab = -1.70/0 inches>
<!Class, glossary,
Bottom Margin = 0.153 inches,
Left Margin = 1.60 inches,
First Indent = -1.60 inches,
Line Spacing = 1.121 lines,
Font = F2,
Allow Page Break Within = no,
Left Tab = -1.70/0 inches>
<!Class, leadlttr,
Bottom Margin = 0.153 inches,
Left Margin = 1.60 inches,
First Indent = -1.60 inches,
Line Spacing = 1.120 lines,
Font = F4,
Allow Page Break Within = no,
Allow Page Break After = no,
Left Tab = -1.70/0 inches>
<!Class, p1rule,
Bottom Margin = 0.07 inches,
Line Spacing = 1 lines,
Font = F2,
Hyphenation = off,
Allow Page Break After = no,
Left Tab = 0/0.75*13 inches>
<!Class, para,
Bottom Margin = 0.153 inches,
Left Margin = 1.60 inches,
Line Spacing = 1.121 lines,
Font = F2,
Allow Page Break Within = no,
Left Tab = 0/0.75*13 inches>
<!Class, sectitle,
Bottom Margin = 0 inches,
Line Spacing = 1 lines,
Alignment = Right,
Font = F5,
Hyphenation = off,
New Page = yes,
Left Tab = 0/0.75*13 inches>
<!Class, thinrule,
Bottom Margin = 0.12 inches,
Line Spacing = 1 lines,
Font = F6,
Hyphenation = off,
Allow Page Break Within = no,
Allow Page Break After = no,
Left Tab = 0/1.60 inches>
<!Master Frame,
Name = "At Anchor",
Placement = At Anchor,
Width = 0.41 inches,
Height = 0.137 inches,
Vertical Alignment = 0.03 inches,
Diagram =
V4,
(g9,32767,0
(E10,0,0,0,1,1,0.053333,1,15,0,0,1,0,0,0,0,0,1,1,0.066667,0.066667,6,6,0,0.066
667,6))>
<First Page Header, Frame =
V4,
(g9,0,0
(E10,0,0,0,1,1,0.053333,1,15,0,0,1,0,0,0,0.007813,1,1,1,0.066667,0.066667,6,6,
0,0.066667,6))>
<Right Page Header, Frame =
V4,
(g9,1,0
(T8,1,12,5.426667,0.313333,0.92,1,0.333333,0,516,0,17,0,0,0,0,0,0,1,1,2048,512
,102,1101,2,
<caption,
Alignment = Right>
Glossary
<End Text>)
(E10,0,0,0,1,1,0.053333,1,15,0,0,1,0,0,0,0,1,1,1,0.066667,0.066667,6,6,0,0.066
667,6))>
<Left Page Header, Frame =
V4,
(g9,1,0
(T8,1,12,0.013333,0.313333,0.92,1,0.333333,0,516,0,17,0,0,0,0,0,0,1,1,2048,512
,102,1101,2,
<caption,
Alignment = Left>
Glossary
<End Text>)
(E10,0,0,0,1,1,0.053333,1,15,0,0,1,0,0,0,0,1,1,1,0.066667,0.066667,6,6,0,0.066
667,6))>
<Right Page Footer, Frame =
V4,
(g9,1,0
(t8,1,4,6.333333,0.266667,2,17,@nntimsps10b,Glossary\036\240)
(v4,2,0,0,0.066667,6.333333,0.066554,17,2,0)
(T8,3,12,0,0.183333,1.36,1,0.333333,0,516,0,17,0,0,0,0,0,0,1,1,2048,512,102,11
01,6,
<caption,
Alignment = Left>
CLX Programmer's Reference
<End Text>)
(E10,0,0,0,1,1,0.053333,1,14.1,0,0,1,0,0,0,0,1,1,1,0.066667,0.066667,6,6,0,0.0
66667,6))>
<Left Page Footer, Frame =
V4,
(g9,1,0
(t8,1,4,0.013333,0.28,0,17,@nntimsps10b,Glossary\036\240)
(v4,2,0,0.026667,0.08,6.333333,0.079888,17,2,0)
(T8,3,12,-17.663337,0.196667,1.36,1,0.333333,0,516,0,17,0,0,0,0,0,0,1,1,2048,5
12,102,1101,6,
<caption,
Alignment = Right>
CLX Programmer's Reference
<End Text>)
(E10,0,0,0,1,0,0.053333,1,14.1,0,0,1,0,0,0,0.007813,1,0,1,0.066667,0.066667,6,
6,0,0.066667,6))>
<sectitle>
<|,201>GLOSSARY
<p1rule>
<Frame,
Name = "At Anchor",
Placement = At Anchor,
Width = 6.35 inches,
Height = 0.153 inches,
Vertical Alignment = 0.007 inches,
Page # = 201,
Diagram =
V4,
(g9,1,0
(v4,1,0,0.006667,0.066723,6.333333,0.066611,17,2,0)
(E10,0,0,0,1,1,0.053333,1,15,0,0,1,0,0,0,0,0,1,1,0.066667,0.066667,6,6,0,0.066
667,6))>
<leadlttr>
<F7>a
<glossary>
<F6>access control list<F0><Tab>X maintains a list of hosts from
which client programs can be run. By default, only programs on the
local host can use the display, plus any hosts specified in an initial
list read by the server. This <F8>access control list<F0> can be
changed by clients on the local host. Some server implementations
can also implement other authorization mechanisms in addition to or
in place of this mechanism. The action of this mechanism can be conditional
based on the authorization protocol name and data received by the
server at connection setup.
<F6>action<F0><Tab>A function that is designed to handle an input
event. CLUE input processing consists of matching an event with an
event specification found in a contact's <F6>event<#1e>translations<F0>
slot and then calling actions associated with the matching event specification.
<F6>active grab<F0><Tab>A grab is <F8>active<F0> when the pointer
or keyboard is actually owned by the single grabbing client.
<F6>ancestors<F0><Tab>If W is an inferior of A, then A is an <F8>ancestor
<F0> of W.
<F6>atom<F0><Tab>A unique ID corresponding to a string name. Atoms
are used to identify properties, types, and selections.
<thinrule,
Left Tab = 0 inches,
Right Tab = 6.50 inches>
<Tab->
<leadlttr>
<F7>b
<glossary>
<F6>backing store<F0><Tab>When a server maintains the contents of
a window, the off<#1e>screen saved pixels are known as a <F8>backing
store<F0>.
<F6>before action<Tab><F0>An action of a <F6>contact<#1e>display<F0>
that is called when an event is dispatched to a contact, but before
any other contact input processing is performed.
<F6>bit gravity<F0><Tab>When a window is resized, the contents of
the window are not necessarily discarded. It is possible to request
the server to relocate the previous contents to some region of the
window. This attraction of window contents for some location of a
window is known as <F8>bit gravity<F0>.
<F6>bitmap<F0><Tab>A pixmap of depth one.
<F6>button grabbing<F0><Tab>Buttons on the pointer can be passively <F8>grab
bed<F0> by a client. When the button is pressed, the pointer is then
actively grabbed by the client.
<F6>byte<F0> <F6>order<F0><Tab>For image (pixmap/bitmap) data,
byte order is defined by the server, and clients with different native
byte ordering must swap bytes as necessary. For all other parts of
the protocol, the byte order is defined by the client, and the server
swaps bytes as necessary.
<thinrule,
Left Tab = 0 inches,
Right Tab = 6.50 inches>
<Tab->
<leadlttr>
<F7>c
<glossary>
<F6>callback<F0><Tab>A function that represents a connection between
a contact and the rest of an application program. A contact calls
a callback function in order to report the results of the user interface
component that it represents.
<F6>children<F0><Tab>First<#1e>level subwindows of a window.
<gloss1>
<|,202><F6>class event<Tab><F0>Event translations that belong to
all instances of a contact class. A class event
<glossary>
<F6>translations<F0><Tab>translation is created by the <F6>defevent<F0>
macro.
<F6>class resources<Tab><F0>Resources defined for each instance
of a contact class. Also see constraint resources.
<F6>click<Tab><F0>A <F6>:button<#1e>press<F0> event followed immediately
by a <F6>:button<#1e>release<F0> event for the same button, with
no intervening change in pointer position or modifier key state.
<F6>client<F0><Tab>An application program connects to the window
system server by some interprocess communication (IPC) path, such
as a TCP connection or a shared memory buffer. This program is referred
to as a <F8>client<F0> of the window system server. More precisely,
the client is the IPC path itself. A program with multiple paths open
to the server is viewed as multiple clients by the protocol. Resource
lifetimes are controlled by connection lifetimes, not by program lifetimes.
<F6>clipping regions<F0><Tab>In a graphics context, a bitmap or
list of rectangles can be specified to restrict output to a particular
region of the window. The image defined by the bitmap or rectangles
is called a <F8>clipping region<F0>.
<F6>colormap<F0><Tab>A set of entries defining color values. The
colormap associated with a window is used to display the contents
of the window. Each pixel value indexes the colormap to produce RGB
values that drive the guns of a monitor. Depending on hardware limitations,
one or more colormaps can be installed at one time, such that windows
associated with those maps display with correct colors.
<F6>composite<F0><Tab>A subclass of <F6>contact<F0> representing
contacts that are the parents of other contacts. A composite provides
geometry management and input focus management services for the contacts
that are its children.
<gloss1>
<F6>complete resource<Tab><F0>A list of symbols containing the class
of the contact, the class of the contact's<FJ>
<glossary>
<F6>class<Tab>parent <F0>(and so on), and the class<F6> <F0>of
the <F6>contact<#1e>display<F0> to which the contact belongs. The
complete resource class is one of the two items used as a key by a
CLUE application in order to access a contact resource value in a
resource database.
<gloss1>
<F6>complete resource<Tab><F0>A list of symbols containing the <F6>name
<F0> of the contact, the <F6>name<F0> of the<FJ>
<glossary>
<F6>name<Tab><F0>contact's <F6>parent <F0>(and so on), and the
name of the <F6>contact<#1e>display<F0> to which the contact belongs.
The complete resource name is one of the two items used as a key by
a CLUE application in order to access a contact resource value in
a resource database.
<F6>connection<F0><Tab>The IPC path between the server and client
program. A client program typically has one connection to the server
over which requests and events are sent.
<F6>constraint resources<Tab><F0>Resources defined for each child
belonging to a member of a composite class. Constraint resources are
typically used to control the parent's geometry management policy.
Also see class resources.
<F6>contact<F0><Tab>The basic CLUE object for programming a user
interface.
<F6>contact<#1e>display<Tab><F0>The CLUE object type that represents
a<F6> <F0>connection to an X server and that supports an event loop
for application<F6> <F0>input.
<F6>contact initialization<Tab><F0>The process of collecting initial
values for all contact attributes. No server resources (windows and
so on) are actually allocated until contact realization.
<F6>contact realization<Tab><F0>The process of allocating contact
resources. This process completes contact creation.
<|,203><F6>containment<F0><Tab>A window contains the pointer if the
window is viewable and the hot spot of the cursor is within a visible
region of the window or a visible region of one of its inferiors.
The border of the window is included as part of the window for containment.
The pointer is in a window if the window contains the pointer but
no inferior contains the pointer.
<F6>content<Tab><F0>The single child of a shell. The basic geometry
management policy implemented by the <F6>shell<F0> class constrains
a shell and its content to have the same width and height; size changes
to one are automatically applied to the other.
<F6>coordinate system<F0><Tab>The coordinate system has x horizontal
and y vertical, with the origin [0, 0] at the upper left. Coordinates
are discrete and are in terms of pixels. Each window and pixmap has
its own coordinate system. For a window, the origin is at the inside
upper left, inside the border.
<F6>cursor<F0><Tab>The visible shape of the pointer on a screen.
It consists of a hot<#1e>spot, a source bitmap, a shape bitmap, and
a pair of colors. The cursor defined for a window controls the visible
appearance when the pointer is in that window.
<thinrule,
Left Tab = 0 inches,
Right Tab = 6.50 inches>
<Tab->
<leadlttr>
<F7>d
<glossary>
<F6>depth<F0><Tab>The depth of a window or pixmap is number of bits
per pixel it has. The depth of a graphics context is the depth of
the drawables it can be used in conjunction with for graphics output.
<glossary,
Allow Page Break After = no>
<F6>descendant<F0><Tab>If W is an inferior of A, then W is a <F8>descendant
<F0> of A.
<glossary>
<F6>device<F0><Tab>Keyboards, mice, tablets, track<#1e>balls, button
boxes, and so forth, are all collectively known as input <F8>devices<F0>.
The core protocol only deals with two devices: the keyboard and the
pointer.
<F6>direct color<F0><Tab>A class of colormap in which a pixel value
is decomposed into three separate subfields for indexing. One subfield
indexes an array to produce red intensity values, the second subfield
indexes a second array to produce blue intensity values, and the third
subfield indexes a third array to produce green intensity values.
The RGB values can be changed dynamically.
<F6>dispatching an event<F0><Tab>The process of finding the appropriate
contact and its actions.
<F6>double<#1e>click<Tab><F0>A sequence of two clicks of the same
button in rapid succession.
<F6>drawable<F0><Tab>Both windows and pixmaps can be used as sources
and destinations in graphics operations. These are collectively known
as <F8>drawables<F0>. However, an <F6>:input<#1e>only<F0> window
cannot be used as a source or destination in a graphics operation.
<thinrule,
Left Tab = 0 inches,
Right Tab = 6.50 inches>
<Tab->
<leadlttr>
<F7>e
<glossary>
<F6>event<F0><Tab>Clients receive information asynchronously via <F8>events
<F0>. These events can be either asynchronously generated from devices,
or generated as side effects of client requests. Events are grouped
into types; events are never sent to a client by the server unless
the client has specifically asked to be informed of that type of event,
but clients can force events to be sent to other clients. Events are
typically reported relative to a window.
<|,204><F6>event compression<Tab><F0>Ignoring (or compressing) certain
redundant input events. Compression of redundant events is controlled
by the class slots <F6>compress<#1e>exposures<F0> and <F6>compress<#1e>motio
n<F0>, which are shared by all instances of a contact class.
<F6>event loop<F0><Tab>The fundamental application control structure:
wait for an event, figure out how to handle it, process the event,
then go back and wait for the next one. In CLUE, the event loop is
implemented using the <F6>process<#1e>next<#1e>event<F0> function.
<F6>event mask<F0><Tab>Events are requested relative to a window.
The set of event types a client requests relative to a window are
described using an <F8>event mask<F0>.
<F6>event propagation<F0><Tab>Device<#1e>related events <F8>propagate<F0>
from the source window to ancestor windows until some client has expressed
interest in handling that type of event, or until the event is discarded
explicitly.
<F6>event specification<F8><Tab><F0>A notation for describing a
certain sort of event. CLUE input processing consists of matching
an event with an event specification found in a contact's <F6>event<#1e>transl
ations<F0> slot and then calling actions associated with the matching
event specification.
<F6>event synchronization<F0><Tab>Certain race conditions are possible
when demultiplexing device events to clients (in particular deciding
where pointer and keyboard events should be sent when in the middle
of window management operations). The event synchronization mechanism
allows synchronous processing of device events.
<F6>event source<F0><Tab>The smallest window containing the pointer
is the <F8>source<F0> of a device related event.
<F6>event translation<Tab><F0>The process of determining which contact
action<F8> <F0>functions will be executed. An event translation
is a list found in a contact's <F6>event<#1e>translations<F0> slot
associating an event specification with one or more action<F8> <F0>names.
Also see class event translations.
<F6>exposure event<F0><Tab>Servers do not guarantee to preserve
the contents of windows when windows are obscured or reconfigured. <F8>Exposur
e<F0> events are sent to clients to inform them when contents of
regions of windows have been lost.
<F6>extension<F0><Tab>Named <F8>extensions<F0> to the core protocol
can be defined to extend the system. Extension to output requests,
resources, and event types are all possible, and expected.
<thinrule,
Left Tab = 0 inches,
Right Tab = 6.50 inches>
<Tab->
<leadlttr>
<F7>f
<glossary>
<F6>focus window<F0><Tab>Another term for the input focus.
<F6>font<F0><Tab>A matrix of glyphs (typically characters). The
protocol does no translation or interpretation of character sets.
The client simply indicates values used to index the glyph array.
A font contains additional metric information to determine inter<#1e>glyph
and inter<#1e>line spacing.
<thinrule,
Left Tab = 0 inches,
Right Tab = 6.50 inches>
<Tab->
<leadlttr>
<F7>g
<gloss1>
<F6>geometry<Tab><F0>The process whereby a composite controls the
geometrical properties of its<FJ>
<glossary>
<F6>management<Tab><F0>child contacts; the composite is referred
to as the<F8> <F0>geometry manager.
<F6>glyph<F0><Tab>An image, typically of a character, in a font.
<|,205><F6>grab<F0><Tab>Keyboard keys, the keyboard, pointer buttons,
the pointer, and the server can be <F8>grabbed<F0> for exclusive
use by a client. In general, these facilities are not intended to
be used by normal applications but are intended for various input
and window managers to implement various styles of user interfaces.
<F6>gcontext<F0><Tab>Shorthand for graphics context.
<F6>graphics context<F0><Tab>Various information for graphics output
is stored in a <F8>graphics context<F0> (or gcontext), such as foreground
pixel, background pixel, line width, clipping region, and so forth.
A graphics context can only be used with drawables that have the same
root and the same depth as the graphics context.
<F6>gray scale<F0><Tab>A degenerate case of pseudo color, in which
the red, green, and blue values in any given colormap entry are equal,
thus producing shades of gray. The gray values can be changed dynamically.
<thinrule,
Left Tab = 0 inches,
Right Tab = 6.50 inches>
<Tab->
<leadlttr>
<F7>h
<glossary>
<F6>hot spot<F0><Tab>A cursor has an associated <F8>hot spot<F0>
that defines a point in the cursor that corresponds to the coordinates
reported for the pointer.
<thinrule,
Left Tab = 0 inches,
Right Tab = 6.50 inches>
<Tab->
<leadlttr>
<F7>i
<glossary>
<F6>identifier<F0><Tab>Each resource has an <F8>identifier<F0>,
a unique value associated with it that clients use to name the resource.
An identifier can be used over any connection to name the resource.
<F6>inferiors<F0><Tab>All of the subwindows nested below a window:
the children, the children's children, and so on.
<F6>initialization<F0><Tab>See contact initialization.
<F6>input event<Tab><F0>See event.
<F6>input focus<F0><Tab>Normally a window defining the scope for
processing of keyboard input. If a generated keyboard event would
normally be reported to this window or one of its inferiors, the event
is reported normally; otherwise, the event is reported with respect
to the focus window. The input focus also can be set such that all
keyboard events are discarded and that the focus window is dynamically
taken to be the root window of whatever screen the pointer is on at
each keyboard event.
<F6>input<#1e>only window<F0><Tab>A window that cannot be used for
graphics requests. <F8>input<#1e>only<F0> windows are invisible,
and can be used to control such things as cursors, input event generation,
and grabbing. <F8>input<#1e>only<F0> windows cannot have <F8>input/output
<F0> windows as inferiors.
<F6>input/output window<F0><Tab>The normal kind of opaque window,
used for both input and output. Input/output windows can have both <F8>input/o
utput<F0> and input<#1e>only windows as inferiors.
<F6>insensitivity<F0><Tab>See sensitivity.
<F6>interactive<#1e>stream<Tab><F0>A contact subclass designed to
integrate CLUE with the conventional stream<#1e>based I/O of Common
Lisp.
<thinrule,
Left Tab = 0 inches,
Right Tab = 6.50 inches>
<|,206><Tab->
<leadlttr>
<F7>k
<glossary>
<F6>key grabbing<F0><Tab>Keys on the keyboard can be passively <F8>grabbed
<F0> by a client. When the key is pressed, the keyboard is then actively
grabbed by the client.
<F6>keyboard grabbing<F0><Tab>A client can actively <F8>grab<F0>
control of the keyboard, and key events will be sent to that client
rather than the client to which the events would normally have been
sent.
<F6>keysym<F0><Tab>An encoding of a symbol on a keycap on a keyboard.
<thinrule,
Left Tab = 0 inches,
Right Tab = 6.50 inches>
<Tab->
<leadlttr>
<F7>m
<glossary>
<F6>managed<Tab><F0>A contact under geometry management control.
<F6>mapped<F0><Tab>A window is said to be <F8>mapped<F0> if a
map call has been performed on it. Unmapped windows and their inferiors
are never viewable or visible.
<F6>modifier keys<F0><Tab>SHIFT, CONTROL, META, SUPER, HYPER, ALT,
Compose, Apple, CAPS LOCK, Shift Lock, and similar keys are called <F8>modifie
r keys<F0>.
<F6>monochrome<F0><Tab>A special case of static gray, in which there
are only two colormap entries.
<thinrule,
Left Tab = 0 inches,
Right Tab = 6.50 inches>
<Tab->
<leadlttr>
<F7>o
<glossary>
<F6>obscure<F0><Tab>A window is <F8>obscured<F0> if some other
window obscures it. For example, window A obscures window B if:
<bullet>
<F11>w<F9><Tab><F0>Both windows are viewable <F6>:input<#1e>output<F0>
windows
<F11>w<F9><Tab><F0>Window A is higher in the global stacking order
than window B
<F11>w<F9><Tab><F0>The rectangle defined by the outside edges of
window A intersects the rectangle defined by the outside edges of
window B
<para>
Notice that window borders are included in the calculation, and that
a window can be obscured and yet still have visible regions. See occlude
(there is a fine distinction between obscure and occlude).
<glossary>
<F6>occlude<F0><Tab>A window is <F8>occluded<F0> if some other
window occludes it. For example, window A occludes window B if:
<bullet>
<F11>w<F9><Tab><F0>Both windows are mapped
<F11>w<F9><Tab><F0>Window A is higher in the global stacking order
than window B
<F11>w<F9><Tab><F0>The rectangle defined by the outside edges of
window A intersects the rectangle defined by the outside edges of
window B
<para>
Notice that window borders are included in the calculation. See obscure
(there is a fine distinction between occlude and obscure).
<glossary>
<|,207><F6>override<#1e>shell<F9><Tab><F0>A subclass of <F6>shell <F0>used
to override the window manager. This subclass contains pop<#1e>up
menus and other temporary objects that the user can never resize and
so on.
<thinrule,
Left Tab = 0 inches,
Right Tab = 6.50 inches>
<Tab->
<leadlttr>
<F7>p
<glossary>
<F6>padding<F0><Tab>Some padding bytes are inserted in the data
stream to maintain alignment of the protocol requests on natural boundaries.
This increases ease of portability to some machine architectures.
<F6>parent window<F0><Tab>If C is a child of P, then P is the <F8>parent
<F0> of C.
<F6>passive grab<F0><Tab>Grabbing a key or button is a <F8>passive
grab<F0>. The grab activates when the key or button is actually pressed.
<F6>pixel value<F0><Tab>An <F8>n<F0><#1e>bit value, where <F8>n<F0>
is the number of bit planes used in (that is, the depth of) a particular
window or pixmap. For a window, a pixel value indexes a colormap to
derive an actual color to be displayed.
<F6>pixmap<F0><Tab>A three dimensional array of bits. A pixmap is
normally thought of as a two dimensional array of pixels, where each
pixel can be a value from 0 to
<Frame,
Name = "At Anchor",
Placement = At Anchor,
Width = 0.45 inches,
Height = 0.18 inches,
Vertical Alignment = 0.03 inches,
Page # = 201,
Diagram =
V4,
(g9,1,0
(m8,1,12,0,0.133333,clas10,\(2\ sup\ n\ \)-1)
(E10,0,0,0,1,1,0.053333,1,15,0,0,1,0,0,0,0,0,1,1,0.066667,0.066667,6,6,0,0.066
667,6))>
, where <F8>n<F0> is the depth (z axis) of the pixmap. A pixmap
can also be thought of as a stack of <F8>n<F0> bitmaps.
<F6>plane<F0><Tab>When a pixmap or window is thought of as a stack
of bitmaps, each bitmap is called a <F8>plane<F0> or <F8>bit plane<F0>.
<F6>plane mask<F0><Tab>Graphics operations can be restricted to
only affect a subset of bit planes of a destination. A <F8>plane
mask<F0> is a bit mask describing which planes are to be modified,
and it is stored in a graphics context.
<F6>pointer<F0><Tab>The pointing device attached to the cursor and
tracked on the screens.
<F6>pointer grabbing<F0><Tab>A client can actively <F8>grab<F0>
control of the pointer, and button and motion events will be sent
to that client rather than the client to which the events would normally
have been sent.
<F6>pointing device<F0><Tab>Typically a mouse or tablet, or some
other device with effective dimensional motion. There is only one
visible cursor defined by the core protocol, and it tracks whatever
pointing device is attached as the pointer.
<F6>pop<#1e>up<F0><Tab>One of the uses of a top<#1e>level shell
(for example, a menu that pops up when a command button contact is
activated). Setting the <F6>state<F0> of a shell to <F6>:mapped<Index, "shell", "popping up">
<F0> is sometimes referred to as <F8>mapping<F0> or <F8>popping
up<F0> the shell. Setting the <F6>state<F0> of a shell to <F6>:withdrawn
<F0> or <F6>:iconic<F0> is sometimes referred to as <F8>unmapping<F0>
or <F8>popping down<Index, "shell", "popping down"><F0> the shell.
<F6>property<F0><Tab>Windows can have associated <F8>properties<F0>,
consisting of a name, a type, a data format, and some data. The protocol
places no interpretation on properties; they are intended as a general<#1e>purp
ose naming mechanism for clients. For example, clients might share
information such as resize hints, program names, and icon formats
with a window manager via properties.
<F6>property list<F0><Tab>The list of properties that have been
defined for a window.
<F6>pseudo color<F0><Tab>A class of colormap in which a pixel value
indexes the colormap to produce independent red, green, and blue values.
That is, the colormap is viewed as an array of triples (RGB values).
The RGB values can be changed dynamically.
<thinrule,
Left Tab = 0 inches,
Right Tab = 6.50 inches>
<|,208><Tab->
<leadlttr>
<F7>r
<glossary>
<F6>realization<Tab><F0>See contact realization.
<F6>redirecting control<F0><Tab>Window managers (or client programs)
may choose to enforce window layout policy in various ways. When a
client attempts to change the size or position of a window, the operation
can be <F8>redirected<F0> to a specified client, rather than the
operation actually being performed.
<F6>reply<F0><Tab>Information requested by a client program is sent
back to the client with a <F8>reply<F0>. Both events and replies
are multiplexed on the same connection. Most requests do not generate
replies. However, some requests generate multiple replies.
<F6>representation type<Tab><F0>The type of representation of a
resource value. For example, a color value might be represented either
as a namestring (<#7f>red"), a pixel value, an RGB triplet, an HSV
triplet, and so on.
<F6>request<F0><Tab>A command to the server is called a <F8>request<F0>.
It is a single block of data sent over a connection.
<F6>resource<F0><Tab> A value of the user interface that can be
changed by the user in a resource database via CLX functions <F6>add<#1e>resou
rce<F0>, <F6>get<#1e>resource<F0>, and so forth. See server resource.
<gloss1>
<F6>resource class,<F0><Tab>See complete resource class.
<glossary>
<F6>complete
<F6>resource database<Tab><F0>Conceptually, a set of resource name/value
pairs (or resource bindings). CLX defines functions for storing and
retrieving interface resources from a resource database.
<gloss1>
<F6>resource name,<F0><Tab>See complete resource name.
<glossary>
<F6>complete
<F6>RGB values<F0><Tab><F8>Red<F0>, <F8>green<F0>, and <F8>blue<F0>
intensity values used to define color. These values are always represented
as 16<#1e>bit unsigned numbers, with zero being the minimum intensity
and 65535 being the maximum intensity. The values are scaled by the
server to match the display hardware.
<F6>root<F0><Tab>A special composite contact used to represent an
entire display screen.
<F6>root window<F0><Tab>Each screen has a <F8>root window<F0>
covering it. It cannot be reconfigured or unmapped, but otherwise
acts as a full<#1e>fledged window. A root window has no parent.
<thinrule,
Left Tab = 0 inches,
Right Tab = 6.50 inches>
<Tab->
<leadlttr>
<F7>s
<glossary>
<F6>save set<F0><Tab>The <F8>save set<F0> of a client is a list
of other client's windows that, if they are inferiors of one of the
client's windows at connection close, should not be destroyed and
that should be remapped if it is unmapped. Save sets are typically
used by window managers to avoid lost windows if the manager should
terminate abnormally.
<F6>scanline<F0><Tab>A list of pixel or bit values viewed as a horizontal
row (all values having the same y coordinate) of an image, with the
values ordered by increasing x coordinate.
<F6>scanline order<F0><Tab>An image represented in <F8>scanline
order<F0> contains scanlines ordered by increasing y coordinate.
<|,209><F6>screen<F0><Tab>A server can provide several independent <F8>screen
s<F0>, which typically have physically independent monitors. This
would be the expected configuration when there is only a single keyboard
and pointer shared among the screens.
<F6>selection<F0><Tab>A <F8>selection<F0> can be thought of as
an indirect property with dynamic type. That is, rather than having
the property stored in the server, it is maintained by some client
(the <F8>owner<F0>). A selection is global in nature, being thought
of as belonging to the user (but maintained by clients), rather than
being private to a particular window subhierarchy or a particular
set of clients. When a client asks for the contents of a selection,
it specifies a selection <F8>target type<F0>. This target type can
be used to control the transmitted representation of the contents.
<para>
For example, if the selection is <#7f>the last thing the user clicked
on" and that is currently an image, then the target type might specify
whether the contents of the image should be sent in XY Format or Z
Format. The target type can also be used to control the class of contents
transmitted; that is, asking for the looks (fonts, line spacing, indentation,
and so forth) of a paragraph selection, rather than the text of the
paragraph. The target type can also be used for other purposes; the
semantics is not constrained by the protocol.
<glossary>
<F6>sensitivity<Tab><F0>A condition in which a user interface component
of an application will accept input. Conversely, when a contact is
insensitive, events of particular types are not dispatched to the
contact and are ignored.
<F6>server<F0><Tab>The <F8>server<F0> provides the basic windowing
mechanism. It handles IPC connections from clients, demultiplexes
graphics requests onto the screens, and multiplexes input back to
the appropriate clients.
<F6>server grabbing<F0><Tab>The server can be <F8>grabbed<F0>
by a single client for exclusive use. This prevents processing of
any requests from other client connections until the grab is complete.
This is typically only a transient state for such things as rubber<#1e>banding
and pop<#1e>up menus, or to execute requests indivisibly.
<F6>server resource<F0><Tab>Windows, pixmaps, cursors, fonts, gcontexts,
and colormaps are known as resources. They all have unique identifiers
associated with them for naming purposes. The lifetime of a resource
is bounded by the lifetime of the connection over which the resource
was created. See resource.
<F6>shell<F0><Tab>A composite that handles the duties required by
standard conventions for top<#1e>level X windows.
<F6>sibling<F0><Tab>Children of the same parent window are known
as <F8>sibling<F0> windows.
<F6>static color<F0><Tab>A degenerate case of pseudo color in which
the RGB values are predefined and read<#1e>only.
<F6>static gray<F0><Tab>A degenerate case of gray scale in which
the gray values are predefined and read<#1e>only. The values are typically
(near<#1e>)linear increasing ramps.
<F6>stacking order<F0><Tab>Sibling windows can <F8>stack<F0> on
top of each other. Windows above both obscure and occlude lower windows.
This is similar to paper on a desk. The relationship between sibling
windows is known as the <F8>stacking order<F0>.
<glossary,
Allow Page Break After = no>
<F6>state<Tab><F0>A slot of <F6>contact<F0> that controls the
visual effect of the contact.
<glossary>
<F6>stipple<F0><Tab>A bitmap that is used to tile a region to serve
as an additional clip mask for a fill operation with the foreground
color.
<thinrule,
New Page = yes,
Left Tab = 0 inches,
Right Tab = 6.50 inches>
<|,210><Tab->
<leadlttr>
<F7>t
<glossary>
<F6>tile<F0><Tab>A pixmap can be replicated in two dimensions to <F8>tile
<F0> a region. The pixmap itself is also known as a tile.
<F6>timer<F0><Tab>A CLUE object that provides support for animation
and other types of time<#1e>sensitive user interfaces. A timer causes <F6>:tim
er<F0> events to be dispatched to a specific contact for processing.
<F6>timestamp<F0><Tab>A time value, expressed in milliseconds, typically
since the last server reset. Timestamp values wrap around (after about
49.7 days). The server, given its current time is represented by timestamp
T, always interprets timestamps from clients by treating half of the
timestamp space as being earlier in time than T and half of the timestamp
space as being later in time than T. One timestamp value (named CurrentTime)
is never generated by the server; this value is reserved for use in
requests to represent the current server time.
<F6>top<#1e>level contact<Tab><F0>A contact whose parent is a root.
A top<#1e>level contact is usually a composite at the top of a hierarchy
of other contacts created by an application program.
<F6>top<#1e>level<#1e>session<Tab><F0>A subclass of <F6>shell <F0>that
is used to communicate with a session manager.
<F6>top<#1e>level<#1e>shell<Tab><F0>A subclass of <F6>shell <F0>that
provides full window manager interaction.
<F6>transient<#1e>shell<Tab><F0>A subclass of <F6>shell <F0>that
a window manager typically will unmap when its owner becomes unmapped
or iconified and will not allow to be individually iconified.
<F6>true color<F0><Tab>A degenerate case of direct color in which
the subfields in the pixel value directly encode the corresponding
RGB values. That is, the colormap has predefined read<#1e>only RGB
values. The values are typically (near<#1e>)linear increasing ramps.
<F6>type<F0><Tab>An arbitrary atom used to identify the interpretation
of property data. Types are completely uninterpreted by the server;
they are solely for the benefit of clients.
<thinrule,
Left Tab = 0 inches,
Right Tab = 6.50 inches>
<Tab->
<glossary>
<F7>u
<F6>unmanaged<Tab><F0>A contact that is not under geometry management
control.
<F6>user interface<Tab><F0>A set of abstract interface objects used
to control the dialog between an application and its human user.
<thinrule,
Left Tab = 0 inches,
Right Tab = 6.50 inches>
<Tab->
<leadlttr>
<F7>v
<glossary>
<F6>viewable<F0><Tab>A window is <F8>viewable<F0> if it and all
of its ancestors are mapped. This does not imply that any portion
of the window is actually visible. Graphics requests can be performed
on a window when it is not viewable, but output will not be retained
unless the server is maintaining backing store.
<F6>visible<F0><Tab>A region of a window is <F8>visible<F0> if
someone looking at the screen can actually see it; that is, the window
is viewable and the region is not occluded by any other window.
<thinrule,
Left Tab = 0 inches,
Right Tab = 6.50 inches>
<|,211><Tab->
<leadlttr>
<F7>w
<glossary>
<F6>window gravity<F0><Tab>When windows are resized, subwindows
can be repositioned automatically relative to some position in the
window. This attraction of a subwindow to some part of its parent
is known as <F8>window gravity<F0>.
<F6>window manager<F0><Tab>Manipulation of windows on the screen,
and much of the user interface (policy) is typically provided by a <F8>window
manager<F0> client.
<F6>window manager shell<Tab><F0>A subclass of <F6>shell<F0> called <F6>wm
<#1e>shell <F0>that interacts with the window manager.
<thinrule,
Left Tab = 0 inches,
Right Tab = 6.50 inches>
<Tab->
<leadlttr>
<F7>x
<glossary>
<F6>XY Format<F0><Tab>The data for a pixmap is said to be in <F8>XY
Format<F0> if it is organized as a set of bitmaps representing individual
bit planes, with the planes appearing from most to least significant
in bit order.
<thinrule,
Left Tab = 0 inches,
Right Tab = 6.50 inches>
<Tab->
<leadlttr>
<F7>z
<glossary>
<F6>Z Format<F0><Tab>The data for a pixmap is said to be in <F8>Z
Format<F0> if it is organized as a set of pixel values in scanline
order.
<para,
New Page = yes>
<|,212>