glossary.xml revision ea1d6981
11.45Spalle<glossary id='glossary'>
21.1Spk<title>Glossary</title>
31.1Spk
41.1Spk
51.1Spk<glossentry id="glossary:Access_control_list">
61.1Spk  <glossterm>Access control list</glossterm>
71.1Spk  <indexterm zone="glossary:Access_control_list" significance="preferred"><primary>Access control list</primary></indexterm>
81.1Spk  <glossdef>
91.1Spk    <para>
101.1SpkX maintains a list of hosts from which client programs can be run.
111.1SpkBy default,
121.1Spkonly programs on the local host and hosts specified in an initial list read
131.1Spkby the server can use the display.
141.1SpkClients on the local host can change this access control list.
151.1SpkSome server implementations can also implement other authorization mechanisms
161.1Spkin addition to or in place of this mechanism.
171.1SpkThe action of this mechanism can be conditional based on the authorization
181.1Spkprotocol name and data received by the server at connection setup.
191.1Spk<!-- .KE -->
201.1Spk    </para>
211.1Spk  </glossdef>
221.1Spk</glossentry>
231.1Spk<glossentry id="glossary:Active_grab">
241.1Spk  <glossterm>Active grab</glossterm>
251.1Spk  <indexterm zone="glossary:Active_grab" significance="preferred"><primary>Active grab</primary></indexterm>
261.1Spk  <glossdef>
271.1Spk    <para>
281.1SpkA grab is active when the pointer or keyboard is actually owned by
291.1Spkthe single grabbing client.
301.1Spk<!-- .KE -->
311.1Spk    </para>
321.1Spk  </glossdef>
331.1Spk</glossentry>
341.1Spk<glossentry id="glossary:Ancestors">
351.1Spk  <glossterm>Ancestors</glossterm>
361.19Slukem  <indexterm zone="glossary:Ancestors" significance="preferred"><primary>Ancestors</primary></indexterm>
371.19Slukem  <glossdef>
381.45Spalle    <para>
391.19SlukemIf W is an <glossterm linkend="glossary:Inferiors">inferior</glossterm> of A, then A is an ancestor of W.
401.13Shannken<!-- .KE -->
411.12Sdarrenr    </para>
421.13Shannken  </glossdef>
431.1Spk</glossentry>
441.1Spk<glossentry id="glossary:Atom">
451.16Spk  <glossterm>Atom</glossterm>
461.1Spk  <indexterm zone="glossary:Atom" significance="preferred"><primary>Atom</primary></indexterm>
471.1Spk  <glossdef>
481.1Spk    <para>
491.1SpkAn atom is a unique ID corresponding to a string name.
501.1SpkAtoms are used to identify properties, types, and selections.
511.1Spk<!-- .KE -->
521.1Spk    </para>
531.1Spk  </glossdef>
541.1Spk</glossentry>
551.1Spk<glossentry id="glossary:Background">
561.1Spk  <glossterm>Background</glossterm>
571.16Spk  <indexterm zone="glossary:Background" significance="preferred"><primary>Background</primary></indexterm>
581.16Spk  <glossdef>
591.1Spk    <para>
601.20SmrgAn
611.20Smrg<glossterm linkend="glossary:InputOutput_window"><emphasis role='bold'>InputOutput</emphasis></glossterm>
621.1Spkwindow can have a background, which is defined as a pixmap.
631.1SpkWhen regions of the window have their contents lost or invalidated,
641.28Spkthe server will automatically tile those regions with the background.
651.35Schristos<!-- .KE -->
661.28Spk    </para>
671.28Spk  </glossdef>
681.35Schristos</glossentry>
691.28Spk<glossentry id="glossary:Backing_store">
701.28Spk  <glossterm>Backing store</glossterm>
711.28Spk  <indexterm zone="glossary:Backing_store" significance="preferred"><primary>Backing store</primary></indexterm>
721.35Schristos  <glossdef>
731.28Spk    <para>
741.28SpkWhen a server maintains the contents of a window,
751.28Spkthe pixels saved off screen are known as a backing store.
761.35Schristos<!-- .KE -->
771.35Schristos    </para>
781.35Schristos  </glossdef>
791.35Schristos</glossentry>
801.35Schristos<glossentry id="glossary:Bit_gravity">
811.35Schristos  <glossterm>Bit gravity</glossterm>
821.35Schristos  <indexterm zone="glossary:Bit_gravity" significance="preferred"><primary>Bit</primary><secondary>gravity</secondary></indexterm>
831.28Spk  <glossdef>
841.28Spk    <para>
851.28SpkWhen a window is resized,
861.35Schristosthe contents of the window are not necessarily discarded.
871.35SchristosIt is possible to request that the server relocate the previous contents
881.35Schristosto some region of the window (though no guarantees are made).
891.35SchristosThis attraction of window contents for some location of
901.28Spka window is known as bit gravity.
911.35Schristos<!-- .KE -->
921.35Schristos    </para>
931.1Spk  </glossdef>
941.1Spk</glossentry>
951.1Spk<glossentry id="glossary:Bit_plane">
961.1Spk  <glossterm>Bit plane</glossterm>
971.1Spk  <indexterm zone="glossary:Bit_plane" significance="preferred"><primary>Bit</primary><secondary>plane</secondary></indexterm>
981.1Spk  <glossdef>
991.1Spk    <para>
1001.1SpkWhen a pixmap or window is thought of as a stack of bitmaps,
1011.1Spkeach bitmap is called a bit plane or plane.
1021.1Spk<!-- .KE -->
1031.1Spk    </para>
1041.1Spk  </glossdef>
1051.1Spk</glossentry>
1061.1Spk<glossentry id="glossary:Bitmap">
1071.1Spk  <glossterm>Bitmap</glossterm>
1081.1Spk  <indexterm zone="glossary:Bitmap" significance="preferred"><primary>Bitmap</primary></indexterm>
1091.1Spk  <glossdef>
1101.1Spk    <para>
1111.1SpkA bitmap is a <glossterm linkend="glossary:Pixmap">pixmap</glossterm> of depth one.
1121.1Spk<!-- .KE -->
1131.1Spk    </para>
1141.1Spk  </glossdef>
1151.1Spk</glossentry>
1161.1Spk<glossentry id="glossary:Border">
1171.1Spk  <glossterm>Border</glossterm>
1181.1Spk  <indexterm zone="glossary:Border" significance="preferred"><primary>Border</primary></indexterm>
1191.1Spk  <glossdef>
1201.1Spk    <para>
1211.1SpkAn
1221.1Spk<glossterm linkend="glossary:InputOutput_window"><emphasis role='bold'>InputOutput</emphasis></glossterm>
1231.1Spkwindow can have a border of equal thickness on all four sides of the window.
1241.1SpkA pixmap defines the contents of the border,
1251.1Spkand the server automatically maintains the contents of the border.
1261.1SpkExposure events are never generated for border regions.
1271.1Spk<!-- .KE -->
1281.1Spk    </para>
1291.1Spk  </glossdef>
1301.1Spk</glossentry>
1311.1Spk<glossentry id="glossary:Button_grabbing">
1321.1Spk  <glossterm>Button grabbing</glossterm>
1331.1Spk  <indexterm zone="glossary:Button_grabbing" significance="preferred"><primary>Button</primary><secondary>grabbing</secondary></indexterm>
1341.1Spk  <glossdef>
1351.1Spk    <para>
1361.1SpkButtons on the pointer may be passively grabbed by a client.
1371.1SpkWhen the button is pressed,
1381.1Spkthe pointer is then actively grabbed by the client.
1391.1Spk<!-- .KE -->
1401.1Spk    </para>
1411.1Spk  </glossdef>
1421.1Spk</glossentry>
1431.1Spk<glossentry id="glossary:Byte_order">
1441.1Spk  <glossterm>Byte order</glossterm>
1451.1Spk  <indexterm zone="glossary:Byte_order" significance="preferred"><primary>Byte order</primary></indexterm>
1461.1Spk  <glossdef>
1471.35Schristos    <para>
1481.1SpkFor image (pixmap/bitmap) data,
1491.1Spkthe server defines the byte order,
1501.1Spkand clients with different native byte ordering must swap bytes as necessary.
1511.1SpkFor all other parts of the protocol,
1521.44Schristosthe client defines the byte order,
1531.44Schristosand the server swaps bytes as necessary.
1541.44Schristos<!-- .KE -->
1551.1Spk    </para>
1561.1Spk  </glossdef>
1571.1Spk</glossentry>
1581.1Spk<glossentry id="glossary:Children">
1591.1Spk  <glossterm>Children</glossterm>
1601.1Spk  <indexterm zone="glossary:Children" significance="preferred"><primary>Children</primary></indexterm>
1611.1Spk  <indexterm zone="glossary:Children" significance="preferred"><primary>Window</primary><secondary>children</secondary></indexterm>
1621.1Spk  <glossdef>
1631.1Spk    <para>
1641.1SpkThe children of a window are its first-level subwindows.
1651.7Suwe<!-- .KE -->
1661.7Suwe    </para>
1671.7Suwe  </glossdef>
1681.7Suwe</glossentry>
1691.7Suwe<glossentry id="glossary:Client">
1701.7Suwe  <glossterm>Client</glossterm>
1711.7Suwe  <indexterm zone="glossary:Client" significance="preferred"><primary>Client</primary></indexterm>
1721.7Suwe  <glossdef>
1731.7Suwe    <para>
1741.7SuweAn application program connects to the window system server by some
1751.7Suweinterprocess communication path, such as a TCP connection or a
1761.7Suweshared memory buffer.
1771.7SuweThis program is referred to as a client of the window system server.
1781.7SuweMore precisely,
1791.1Spkthe client is the communication path itself;
1801.1Spka program with multiple paths open to the server is viewed as
1811.1Spkmultiple clients by the protocol.
1821.1SpkResource lifetimes are controlled by connection lifetimes,
1831.1Spknot by program lifetimes.
1841.29Spk<!-- .KE -->
1851.1Spk    </para>
1861.1Spk  </glossdef>
1871.1Spk</glossentry>
1881.1Spk<glossentry id="glossary:Clipping_region">
1891.1Spk  <glossterm>Clipping region</glossterm>
1901.1Spk  <indexterm zone="glossary:Clipping_region" significance="preferred"><primary>Clipping region</primary></indexterm>
1911.1Spk  <glossdef>
1921.1Spk    <para>
1931.1SpkIn a <glossterm linkend="glossary:Graphics_context">graphics context</glossterm>,
1941.35Schristosa bitmap or list of rectangles can be specified
1951.1Spkto restrict output to a particular region of the window.
1961.1SpkThe image defined by the bitmap or rectangles is called a clipping region.
1971.1Spk<!-- .KE -->
1981.1Spk    </para>
1991.29Spk  </glossdef>
2001.1Spk</glossentry>
2011.1Spk<glossentry id="glossary:Colormap">
2021.1Spk  <glossterm>Colormap</glossterm>
2031.1Spk  <indexterm zone="glossary:Colormap" significance="preferred"><primary>Colormap</primary></indexterm>
2041.1Spk  <glossdef>
2051.1Spk    <para>
2061.22SmrgA colormap consists of a set of entries defining color values.
2071.1SpkThe colormap associated with a window is used to display the contents of
2081.1Spkthe window; each pixel value indexes the colormap to produce RGB values
2091.1Spkthat drive the guns of a monitor.
2101.1SpkDepending on hardware limitations,
2111.1Spkone or more colormaps may be installed at one time,
2121.1Spkso that windows associated with those maps display with correct colors.
2131.1Spk<!-- .KE -->
2141.1Spk    </para>
2151.1Spk  </glossdef>
2161.1Spk</glossentry>
2171.1Spk<glossentry id="glossary:Connection">
2181.22Smrg  <glossterm>Connection</glossterm>
2191.1Spk  <indexterm zone="glossary:Connection" significance="preferred"><primary>Connection</primary></indexterm>
2201.1Spk  <glossdef>
2211.1Spk    <para>
2221.1SpkThe interprocess communication path between the server and client
2231.1Spkprogram is known as a connection.
2241.1SpkA client program typically (but not necessarily) has one
2251.1Spkconnection to the server over which requests and events are sent.
2261.1Spk<!-- .KE -->
2271.1Spk    </para>
2281.1Spk  </glossdef>
2291.35Schristos</glossentry>
2301.1Spk<glossentry id="glossary:Containment">
2311.1Spk  <glossterm>Containment</glossterm>
2321.1Spk  <indexterm zone="glossary:Containment" significance="preferred"><primary>Containment</primary></indexterm>
2331.29Spk  <glossdef>
2341.1Spk    <para>
2351.1SpkA window <quote>contains</quote> the pointer if the window is viewable and the
2361.1Spk<glossterm linkend="glossary:Hotspot">hotspot</glossterm> of the cursor is
2371.29Spkwithin a visible region of the window or a
2381.1Spkvisible region of one of its inferiors.
2391.1SpkThe border of the window is included as part of the window for containment.
2401.35SchristosThe pointer is <quote>in</quote> a window if the window contains the pointer
2411.1Spkbut no inferior contains the pointer.
2421.1Spk<!-- .KE -->
2431.1Spk    </para>
2441.29Spk  </glossdef>
2451.1Spk</glossentry>
2461.1Spk<glossentry id="glossary:Coordinate_system">
2471.1Spk  <glossterm>Coordinate system</glossterm>
2481.1Spk  <indexterm zone="glossary:Coordinate_system" significance="preferred"><primary>Coordinate system</primary></indexterm>
2491.1Spk  <glossdef>
2501.1Spk    <para>
2511.1SpkThe coordinate system has the X axis horizontal and the Y axis vertical,
2521.1Spkwith the origin [0, 0] at the upper left.
2531.1SpkCoordinates are integral,
2541.1Spkin terms of pixels,
2551.1Spkand coincide with pixel centers.
2561.35SchristosEach window and pixmap has its own coordinate system.
2571.1SpkFor a window,
2581.1Spkthe origin is inside the border at the inside upper left.
2591.1Spk<!-- .KE -->
2601.1Spk    </para>
2611.29Spk  </glossdef>
2621.1Spk</glossentry>
2631.1Spk<glossentry id="glossary:Cursor">
2641.1Spk  <glossterm>Cursor</glossterm>
2651.1Spk  <indexterm zone="glossary:Cursor" significance="preferred"><primary>Cursor</primary></indexterm>
2661.1Spk  <glossdef>
2671.1Spk    <para>
2681.30SpkA cursor is the visible shape of the pointer on a screen.
2691.1SpkIt consists of a <glossterm linkend="glossary:Hotspot">hotspot</glossterm>,
2701.35Schristosa source bitmap, a shape bitmap, and a pair of colors.
2711.35SchristosThe cursor defined for a window controls the visible appearance
2721.1Spkwhen the pointer is in that window.
2731.30Spk<!-- .KE -->
2741.1Spk    </para>
2751.30Spk  </glossdef>
2761.30Spk</glossentry>
2771.30Spk<glossentry id="glossary:Depth">
2781.30Spk  <glossterm>Depth</glossterm>
2791.1Spk  <indexterm zone="glossary:Depth" significance="preferred"><primary>Depth</primary></indexterm>
2801.30Spk  <glossdef>
2811.30Spk    <para>
2821.30SpkThe depth of a window or pixmap is the number of bits per pixel that it has.
2831.1SpkThe depth of a graphics context is the depth of the drawables it can be
2841.30Spkused in conjunction with for graphics output.
2851.30Spk<!-- .KE -->
2861.30Spk    </para>
2871.30Spk  </glossdef>
2881.30Spk</glossentry>
2891.30Spk<glossentry id="glossary:Device">
2901.30Spk  <glossterm>Device</glossterm>
2911.30Spk  <indexterm zone="glossary:Device" significance="preferred"><primary>Device</primary></indexterm>
2921.1Spk  <glossdef>
2931.9Suwe    <para>
2941.1SpkKeyboards, mice, tablets, track-balls, button boxes, and so on are all
2951.1Spkcollectively known as input devices.
2961.1SpkThe core protocol only deals with two devices,
2971.1Spk<quote>the keyboard</quote> and <quote>the pointer.</quote>
2981.1Spk<!-- .KE -->
2991.1Spk    </para>
3001.35Schristos  </glossdef>
3011.1Spk</glossentry>
3021.1Spk<glossentry id="glossary:DirectColor">
3031.1Spk  <glossterm>DirectColor</glossterm>
3041.1Spk  <indexterm zone="glossary:DirectColor" significance="preferred"><primary>DirectColor</primary></indexterm>
3051.1Spk  <glossdef>
3061.1Spk    <para>
3071.1Spk<emphasis role='bold'>DirectColor</emphasis>
3081.1Spkis a class of colormap in which a pixel value is decomposed into three
3091.1Spkseparate subfields for indexing.
3101.1SpkThe first subfield indexes an array to produce red intensity values.
3111.1SpkThe second subfield indexes a second array to produce blue intensity values.
3121.1SpkThe third subfield indexes a third array to produce green intensity values.
3131.1SpkThe RGB values can be changed dynamically.
3141.1Spk<!-- .KE -->
3151.1Spk    </para>
3161.1Spk  </glossdef>
3171.35Schristos</glossentry>
3181.1Spk<glossentry id="glossary:Display">
3191.35Schristos  <glossterm>Display</glossterm>
3201.1Spk  <indexterm zone="glossary:Display" significance="preferred"><primary>Display</primary></indexterm>
3211.1Spk  <glossdef>
3221.1Spk    <para>
3231.1SpkA server, together with its screens and input devices, is called a display.
3241.1Spk<!-- .KE -->
3251.1Spk    </para>
3261.1Spk  </glossdef>
3271.1Spk</glossentry>
3281.1Spk<glossentry id="glossary:Drawable">
3291.1Spk  <glossterm>Drawable</glossterm>
3301.1Spk  <indexterm zone="glossary:Drawable" significance="preferred"><primary>Drawable</primary></indexterm>
3311.1Spk  <glossdef>
3321.1Spk    <para>
3331.35SchristosBoth windows and pixmaps can be used as sources and destinations in
3341.1Spkgraphics operations.
3351.1SpkThese windows and pixmaps are collectively known as drawables.
3361.1SpkHowever, an
3371.1Spk<glossterm linkend="glossary:InputOnly_window"><emphasis role='bold'>InputOnly</emphasis></glossterm>
3381.30Spkwindow cannot be used as a source or destination in a graphics operation.
3391.1Spk<!-- .KE -->
3401.1Spk    </para>
3411.1Spk  </glossdef>
3421.1Spk</glossentry>
3431.1Spk<glossentry id="glossary:Event">
3441.1Spk  <glossterm>Event</glossterm>
3451.1Spk  <indexterm zone="glossary:Event" significance="preferred"><primary>Event</primary></indexterm>
3461.1Spk  <glossdef>
3471.1Spk    <para>
3481.35SchristosClients are informed of information asynchronously by means of events.
3491.1SpkThese events can be generated either asynchronously from devices
3501.1Spkor as side effects of client requests.
3511.35SchristosEvents are grouped into types.
3521.1SpkThe server never sends events to a client unless the
3531.1Spkclient has specificially asked to be informed of that type of event.
3541.26SpkHowever, other clients can force events to be sent to other clients.
3551.30SpkEvents are typically reported relative to a window.
3561.30Spk<!-- .KE -->
3571.30Spk    </para>
3581.30Spk  </glossdef>
3591.35Schristos</glossentry>
3601.30Spk<glossentry id="glossary:Event_mask">
3611.30Spk  <glossterm>Event mask</glossterm>
3621.30Spk  <indexterm zone="glossary:Event_mask" significance="preferred"><primary>Event</primary><secondary>mask</secondary></indexterm>
3631.30Spk  <glossdef>
3641.30Spk    <para>
3651.30SpkEvents are requested relative to a window.
3661.30SpkThe set of event types that a client requests relative to a window
3671.30Spkis described by using an event mask.
3681.30Spk<!-- .KE -->
3691.30Spk    </para>
3701.30Spk  </glossdef>
3711.30Spk</glossentry>
3721.30Spk<glossentry id="glossary:Event_synchronization">
3731.30Spk  <glossterm>Event synchronization</glossterm>
3741.30Spk  <indexterm zone="glossary:Event_synchronization" significance="preferred"><primary>Event</primary><secondary>synchronization</secondary></indexterm>
3751.30Spk  <glossdef>
3761.30Spk    <para>
3771.30SpkThere are certain race conditions possible when demultiplexing device
3781.30Spkevents to clients (in particular deciding where pointer and keyboard
3791.30Spkevents should be sent when in the middle of window management
3801.30Spkoperations).
3811.30SpkThe event synchronization mechanism allows synchronous processing
3821.30Spkof device events.
3831.35Schristos<!-- .KE -->
3841.30Spk    </para>
3851.30Spk  </glossdef>
3861.30Spk</glossentry>
3871.35Schristos<glossentry id="glossary:Event_propagation">
3881.35Schristos  <glossterm>Event propagation</glossterm>
3891.30Spk  <indexterm zone="glossary:Event_propagation" significance="preferred"><primary>Event</primary><secondary>propagation</secondary></indexterm>
3901.30Spk  <glossdef>
3911.30Spk    <para>
3921.30SpkDevice-related events propagate from the source window to ancestor
3931.30Spkwindows until some client has expressed interest in handling that type
3941.30Spkof event or until the event is discarded explicitly.
3951.30Spk<!-- .KE -->
3961.30Spk    </para>
3971.30Spk  </glossdef>
3981.30Spk</glossentry>
3991.30Spk<glossentry id="glossary:Event_source">
4001.30Spk  <glossterm>Event source</glossterm>
4011.30Spk  <indexterm zone="glossary:Event_source" significance="preferred"><primary>Event</primary><secondary>source</secondary></indexterm>
4021.30Spk  <glossdef>
4031.30Spk    <para>
4041.30SpkThe window the pointer is in is the source of a device-related
4051.30Spkevent.
4061.30Spk<!-- .KE -->
4071.30Spk    </para>
4081.30Spk  </glossdef>
4091.30Spk</glossentry>
4101.30Spk<glossentry id="glossary:Exposure_event">
4111.30Spk  <glossterm>Exposure event</glossterm>
4121.30Spk  <indexterm zone="glossary:Exposure_event" significance="preferred"><primary>Event</primary><secondary>Exposure</secondary></indexterm>
4131.30Spk  <glossdef>
4141.30Spk    <para>
4151.30SpkServers do not guarantee to preserve the contents of windows when
4161.30Spkwindows are obscured or reconfigured.
4171.30SpkExposure events are sent to clients to inform them when contents
4181.30Spkof regions of windows have been lost.
4191.30Spk<!-- .KE -->
4201.30Spk    </para>
4211.30Spk  </glossdef>
4221.30Spk</glossentry>
4231.30Spk<glossentry id="glossary:Extension">
4241.30Spk  <glossterm>Extension</glossterm>
4251.30Spk  <indexterm zone="glossary:Extension" significance="preferred"><primary>Extension</primary></indexterm>
4261.30Spk  <glossdef>
4271.30Spk    <para>
4281.30SpkNamed extensions to the core protocol can be defined to extend the
4291.30Spksystem.
4301.30SpkExtension to output requests, resources, and event types are
4311.30Spkall possible and are expected.
4321.26Spk<!-- .KE -->
4331.26Spk    </para>
4341.35Schristos  </glossdef>
4351.26Spk</glossentry>
4361.26Spk<glossentry id="glossary:Focus_window">
4371.26Spk  <glossterm>Focus window</glossterm>
4381.26Spk  <indexterm zone="glossary:Focus_window" significance="preferred"><primary>Focus window</primary></indexterm>
4391.26Spk  <glossdef>
4401.26Spk    <para>
4411.26SpkThe focus window is another term for the <glossterm linkend="glossary:Input_focus">input focus</glossterm>.
4421.26Spk<!-- .KE -->
4431.26Spk    </para>
4441.26Spk  </glossdef>
4451.26Spk</glossentry>
4461.26Spk<glossentry id="glossary:Font">
4471.26Spk  <glossterm>Font</glossterm>
4481.26Spk  <indexterm zone="glossary:Font" significance="preferred"><primary>Font</primary></indexterm>
4491.26Spk  <glossdef>
4501.26Spk    <para>
4511.26SpkA font is a matrix of glyphs (typically characters).
4521.26SpkThe protocol does no translation or interpretation of character sets.
4531.26SpkThe client simply indicates values used to index the glyph array.
4541.26SpkA font contains additional metric information to determine interglyph
4551.26Spkand interline spacing.
4561.26Spk<!-- .KE -->
4571.26Spk    </para>
4581.26Spk  </glossdef>
4591.26Spk</glossentry>
4601.35Schristos<glossentry id="glossary:GC">
4611.26Spk  <glossterm>GC, GContext</glossterm>
4621.26Spk  <indexterm zone="glossary:GC" significance="preferred"><primary>GC</primary><seealso>Graphics context</seealso></indexterm>
4631.26Spk  <indexterm zone="glossary:GC" significance="preferred"><primary>GContext</primary><seealso>Graphics context</seealso></indexterm>
4641.26Spk  <glossdef>
4651.26Spk    <para>
4661.1SpkGC and gcontext are abbreviations for <glossterm linkend="glossary:Graphics_context">graphics context</glossterm>.
4671.1Spk<!-- .KE -->
4681.35Schristos    </para>
4691.1Spk  </glossdef>
4701.1Spk</glossentry>
4711.1Spk<glossentry id="glossary:Glyph">
4721.1Spk  <glossterm>Glyph</glossterm>
4731.1Spk  <indexterm zone="glossary:Glyph" significance="preferred"><primary>Glyph</primary></indexterm>
4741.1Spk  <glossdef>
4751.1Spk    <para>
4761.1SpkA glyph is an image, typically of a character, in a font.
4771.35Schristos<!-- .KE -->
4781.1Spk    </para>
4791.1Spk  </glossdef>
4801.1Spk</glossentry>
4811.1Spk<glossentry id="glossary:Grab">
4821.1Spk  <glossterm>Grab</glossterm>
4831.1Spk  <indexterm zone="glossary:Grab" significance="preferred"><primary>Grab</primary><seealso>Active grab</seealso><seealso>Passive grab</seealso></indexterm>
4841.1Spk  <glossdef>
4851.1Spk    <para>
4861.1SpkKeyboard keys, the keyboard, pointer buttons, the pointer, and the
4871.1Spkserver can be grabbed for exclusive use by a client.
4881.1SpkIn general,
4891.1Spkthese facilities are not intended to be used by normal applications
4901.1Spkbut are intended for various input and window managers to implement
4911.1Spkvarious styles of user interfaces.
4921.1Spk<!-- .KE -->
4931.1Spk    </para>
4941.1Spk  </glossdef>
4951.1Spk</glossentry>
4961.1Spk<glossentry id="glossary:Graphics_context">
4971.1Spk  <glossterm>Graphics context</glossterm>
4981.1Spk  <indexterm zone="glossary:Graphics_context" significance="preferred"><primary>Graphics context</primary></indexterm>
4991.1Spk  <glossdef>
5001.1Spk    <para>
5011.1SpkVarious information for graphics output is stored in a graphics context
5021.1Spksuch as foreground pixel, background pixel, line width,
5031.1Spk<glossterm linkend="glossary:Clipping_region">clipping region</glossterm>,
5041.1Spkand so on.
5051.1SpkA graphics context can only be used with drawables that have the same root
5061.1Spkand the same depth as the graphics context.
5071.1Spk<!-- .KE -->
5081.1Spk    </para>
5091.1Spk  </glossdef>
5101.1Spk</glossentry>
5111.1Spk<glossentry id="glossary:Gravity">
5121.1Spk  <glossterm>Gravity</glossterm>
5131.1Spk  <indexterm zone="glossary:Gravity" significance="preferred"><primary>Gravity</primary></indexterm>
5141.1Spk  <glossdef>
5151.1Spk    <para>
5161.1SpkSee <glossterm linkend="glossary:Bit_gravity">bit gravity</glossterm>
5171.1Spkand <glossterm linkend="glossary:Window_gravity">window gravity</glossterm>.
5181.1Spk<!-- .KE -->
5191.35Schristos    </para>
5201.1Spk  </glossdef>
5211.1Spk</glossentry>
5221.1Spk<glossentry id="glossary:GrayScale">
5231.1Spk  <glossterm>GrayScale</glossterm>
5241.1Spk  <indexterm zone="glossary:GrayScale" significance="preferred"><primary>GrayScale</primary></indexterm>
5251.1Spk  <glossdef>
5261.35Schristos    <para>
5271.1Spk<emphasis role='bold'>GrayScale</emphasis>
5281.1Spkcan be viewed as a degenerate case of
5291.1Spk<glossterm linkend="glossary:PseudoColor"><emphasis role='bold'>PseudoColor</emphasis></glossterm>,
5301.1Spkin which the red, green, and blue values in any given colormap entry are equal,
5311.1Spkthus producing shades of gray.
5321.1SpkThe gray values can be changed dynamically.
5331.1Spk<!-- .KE -->
5341.35Schristos    </para>
5351.1Spk  </glossdef>
5361.1Spk</glossentry>
5371.1Spk<glossentry id="glossary:Hotspot">
5381.1Spk  <glossterm>Hotspot</glossterm>
5391.1Spk  <indexterm zone="glossary:Hotspot" significance="preferred"><primary>Hotspot</primary></indexterm>
5401.1Spk  <glossdef>
5411.1Spk    <para>
5421.39SperryA cursor has an associated hotspot that defines the point in the
5431.35Schristoscursor corresponding to the coordinates reported for the pointer.
5441.1Spk<!-- .KE -->
5451.1Spk    </para>
5461.1Spk  </glossdef>
5471.1Spk</glossentry>
5481.1Spk<glossentry id="glossary:Identifier">
5491.1Spk  <glossterm>Identifier</glossterm>
5501.1Spk  <indexterm zone="glossary:Identifier" significance="preferred"><primary>Identifier</primary></indexterm>
5511.1Spk  <glossdef>
5521.1Spk    <para>
5531.35SchristosAn identifier is a unique value associated with a resource that clients use
5541.1Spkto name that resource.
5551.1SpkThe identifier can be used over any connection.
5561.1Spk<!-- .KE -->
5571.1Spk    </para>
5581.1Spk  </glossdef>
5591.1Spk</glossentry>
5601.1Spk<glossentry id="glossary:Inferiors">
5611.1Spk  <glossterm>Inferiors</glossterm>
5621.1Spk  <indexterm zone="glossary:Inferiors" significance="preferred"><primary>Inferiors</primary></indexterm>
5631.35Schristos  <glossdef>
5641.1Spk    <para>
5651.1SpkThe inferiors of a window are all of the subwindows nested below it:
5661.1Spkthe children, the children's children, and so on.
5671.1Spk<!-- .KE -->
5681.1Spk    </para>
5691.1Spk  </glossdef>
5701.1Spk</glossentry>
5711.1Spk<glossentry id="glossary:Input_focus">
5721.1Spk  <glossterm>Input focus</glossterm>
5731.1Spk  <indexterm zone="glossary:Input_focus" significance="preferred"><primary>Input focus</primary></indexterm>
5741.1Spk  <glossdef>
5751.1Spk    <para>
5761.35SchristosThe input focus is normally a window defining the scope for
5771.1Spkprocessing of keyboard input.
5781.1SpkIf a generated keyboard event would normally be reported to this window
5791.1Spkor one of its inferiors,
5801.1Spkthe event is reported normally.
5811.1SpkOtherwise, the event is reported with respect to
5821.1Spkthe focus window.
5831.1SpkThe input focus also can be set such that all
5841.1Spkkeyboard events are discarded and such that the focus
5851.1Spkwindow is dynamically taken to be the root window of whatever screen
5861.1Spkthe pointer is on at each keyboard event.
5871.1Spk<!-- .KE -->
5881.1Spk    </para>
5891.1Spk  </glossdef>
5901.1Spk</glossentry>
5911.35Schristos<glossentry id="glossary:Input_manager">
5921.1Spk  <glossterm>Input manager</glossterm>
5931.38Suwe  <indexterm zone="glossary:Input_manager" significance="preferred"><primary>Input manager</primary></indexterm>
5941.1Spk  <glossdef>
5951.38Suwe    <para>
5961.38SuweControl over keyboard input is typically provided by an input manager client.
5971.1Spk<!-- .KE -->
5981.1Spk    </para>
5991.1Spk  </glossdef>
6001.1Spk</glossentry>
6011.1Spk<glossentry id="glossary:InputOnly_window">
6021.1Spk  <glossterm>InputOnly window</glossterm>
6031.1Spk  <indexterm zone="glossary:InputOnly_window" significance="preferred"><primary>Window</primary><secondary>InputOnly</secondary></indexterm>
6041.1Spk  <glossdef>
6051.1Spk    <para>
6061.1SpkAn
6071.1Spk<emphasis role='bold'>InputOnly</emphasis>
6081.35Schristoswindow is a window that cannot be used for graphics requests.
6091.35Schristos<emphasis role='bold'>InputOnly</emphasis>
6101.1Spkwindows are invisible and can be used to control such things
6111.1Spkas cursors, input event generation, and grabbing.
6121.1Spk<emphasis role='bold'>InputOnly</emphasis>
6131.1Spkwindows cannot have
6141.1Spk<emphasis role='bold'>InputOutput</emphasis>
6151.35Schristoswindows as inferiors.
6161.35Schristos<!-- .KE -->
6171.1Spk    </para>
6181.1Spk  </glossdef>
6191.1Spk</glossentry>
6201.1Spk<glossentry id="glossary:InputOutput_window">
6211.1Spk  <glossterm>InputOutput window</glossterm>
6221.35Schristos  <indexterm zone="glossary:InputOutput_window" significance="preferred"><primary>Window</primary><secondary>InputOutput</secondary></indexterm>
6231.35Schristos  <glossdef>
6241.1Spk    <para>
6251.1SpkAn
6261.1Spk<emphasis role='bold'>InputOutput</emphasis>
6271.1Spkwindow is the normal kind of opaque window, used for both input and output.
6281.1Spk<emphasis role='bold'>InputOutput</emphasis>
6291.1Spkwindows can have both
6301.35Schristos<emphasis role='bold'>InputOutput</emphasis>
6311.1Spkand
6321.1Spk<emphasis role='bold'>InputOnly</emphasis>
6331.1Spkwindows as inferiors.
6341.1Spk<!-- .KE -->
6351.1Spk    </para>
6361.1Spk  </glossdef>
6371.1Spk</glossentry>
6381.1Spk<glossentry id="glossary:Key_grabbing">
6391.1Spk  <glossterm>Key grabbing</glossterm>
6401.1Spk  <indexterm zone="glossary:Key_grabbing" significance="preferred"><primary>Key</primary><secondary>grabbing</secondary></indexterm>
6411.1Spk  <glossdef>
6421.1Spk    <para>
6431.1SpkKeys on the keyboard can be passively grabbed by a client.
6441.1SpkWhen the key is pressed,
6451.1Spkthe keyboard is then actively grabbed by the client.
6461.1Spk<!-- .KE -->
6471.1Spk    </para>
6481.1Spk  </glossdef>
6491.1Spk</glossentry>
6501.35Schristos<glossentry id="glossary:Keyboard_grabbing">
6511.35Schristos  <glossterm>Keyboard grabbing</glossterm>
6521.1Spk  <indexterm zone="glossary:Keyboard_grabbing" significance="preferred"><primary>Keyboard</primary><secondary>grabbing</secondary></indexterm>
6531.1Spk  <glossdef>
6541.1Spk    <para>
6551.1SpkA client can actively grab control of the keyboard, and key events
6561.1Spkwill be sent to that client rather than the client the events would
6571.35Schristosnormally have been sent to.
6581.35Schristos<!-- .KE -->
6591.1Spk    </para>
6601.1Spk  </glossdef>
6611.1Spk</glossentry>
6621.1Spk<glossentry id="glossary:Keysym">
6631.1Spk  <glossterm>Keysym</glossterm>
6641.1Spk  <indexterm zone="glossary:Keysym" significance="preferred"><primary>Keysym</primary></indexterm>
6651.26Spk  <glossdef>
6661.31Spk    <para>
6671.31SpkAn encoding of a symbol on a keycap on a keyboard.
6681.26Spk<!-- .KE -->
6691.26Spk    </para>
6701.26Spk  </glossdef>
6711.26Spk</glossentry>
6721.1Spk<glossentry id="glossary:Mapped">
6731.35Schristos  <glossterm>Mapped</glossterm>
6741.1Spk  <indexterm zone="glossary:Mapped" significance="preferred"><primary>Mapped window</primary></indexterm>
6751.1Spk  <glossdef>
6761.1Spk    <para>
6771.1SpkA window is said to be mapped if a map call has been performed on it.
6781.1SpkUnmapped windows and their inferiors are never viewable or visible.
6791.1Spk<!-- .KE -->
6801.1Spk    </para>
6811.1Spk  </glossdef>
6821.1Spk</glossentry>
6831.1Spk<glossentry id="glossary:Modifier_keys">
6841.1Spk  <glossterm>Modifier keys</glossterm>
6851.1Spk  <indexterm zone="glossary:Modifier_keys" significance="preferred"><primary>Modifier keys</primary></indexterm>
6861.1Spk  <indexterm zone="glossary:Modifier_keys"><primary>Key</primary><secondary>modifier</secondary><see>Modifier keys</see></indexterm>
6871.1Spk  <glossdef>
6881.1Spk    <para>
6891.1SpkShift, Control, Meta, Super, Hyper, Alt, Compose, Apple, CapsLock,
6901.1SpkShiftLock, and similar keys are called modifier keys.
6911.1Spk<!-- .KE -->
6921.1Spk    </para>
6931.1Spk  </glossdef>
6941.1Spk</glossentry>
6951.1Spk<glossentry id="glossary:Monochrome">
6961.1Spk  <glossterm>Monochrome</glossterm>
6971.1Spk  <indexterm zone="glossary:Monochrome" significance="preferred"><primary>Monochrome</primary></indexterm>
6981.1Spk  <glossdef>
6991.1Spk    <para>
7001.1SpkMonochrome is a special case of
7011.35Schristos<glossterm linkend="glossary:StaticGray"><emphasis role='bold'>StaticGray</emphasis></glossterm>
7021.35Schristosin which there are only two colormap entries.
7031.1Spk<!-- .KE -->
7041.1Spk    </para>
7051.23Spk  </glossdef>
7061.35Schristos</glossentry>
7071.35Schristos<glossentry id="glossary:Obscure">
7081.1Spk  <glossterm>Obscure</glossterm>
7091.23Spk  <indexterm zone="glossary:Obscure" significance="preferred"><primary>Obscure</primary></indexterm>
7101.23Spk  <glossdef>
7111.23Spk    <para>
7121.23SpkA window is obscured if some other window obscures it.
7131.23SpkWindow A obscures window B if both are viewable
7141.23Spk<glossterm linkend="glossary:InputOutput_window"><emphasis role='bold'>InputOutput</emphasis></glossterm>
7151.23Spkwindows, A is higher in the global stacking order,
7161.23Spkand the rectangle defined by the outside edges of A intersects
7171.24Spkthe rectangle defined by the outside edges of B.
7181.24SpkNote the distinction between obscure and occludes.
7191.23SpkAlso note that window borders are included in the calculation
7201.26Spkand that a window can be obscured and yet still have visible regions.
7211.26Spk<!-- .KE -->
7221.26Spk    </para>
7231.26Spk  </glossdef>
7241.26Spk</glossentry>
7251.26Spk<glossentry id="glossary:Occlude">
7261.26Spk  <glossterm>Occlude</glossterm>
7271.26Spk  <indexterm zone="glossary:Occlude" significance="preferred"><primary>Occlude</primary></indexterm>
7281.26Spk  <glossdef>
7291.1Spk    <para>
7301.1SpkA window is occluded if some other window occludes it.
7311.1SpkWindow A occludes window B if both are mapped, A is higher in the global
7321.35Schristosstacking order, and the rectangle defined by the outside edges of A
7331.1Spkintersects the rectangle defined by the outside edges of B.
7341.1SpkNote the distinction between occludes and obscures.
7351.1SpkAlso note that window borders are included in the calculation.
7361.1Spk<!-- .KE -->
7371.1Spk    </para>
7381.35Schristos  </glossdef>
7391.1Spk</glossentry>
7401.1Spk<glossentry id="glossary:Padding">
7411.1Spk  <glossterm>Padding</glossterm>
7421.1Spk  <indexterm zone="glossary:Padding" significance="preferred"><primary>Padding</primary></indexterm>
7431.1Spk  <glossdef>
7441.35Schristos    <para>
7451.1SpkSome padding bytes are inserted in the data stream to maintain
7461.1Spkalignment of the protocol requests on natural boundaries.
7471.1SpkThis increases ease of portability to some machine architectures.
7481.1Spk<!-- .KE -->
7491.1Spk    </para>
7501.8Suwe  </glossdef>
7511.35Schristos</glossentry>
7521.1Spk<glossentry id="glossary:Parent_window">
7531.1Spk  <glossterm>Parent window</glossterm>
7541.1Spk  <indexterm zone="glossary:Parent_window" significance="preferred"><primary>Window</primary><secondary>parent</secondary></indexterm>
7551.1Spk  <glossdef>
7561.8Suwe    <para>
7571.1SpkIf C is a <glossterm linkend="glossary:Children">child</glossterm> of P,
7581.1Spkthen P is the parent of C.
7591.1Spk<!-- .KE -->
7601.1Spk    </para>
7611.1Spk  </glossdef>
7621.1Spk</glossentry>
7631.8Suwe<glossentry id="glossary:Passive_grab">
7641.35Schristos  <glossterm>Passive grab</glossterm>
7651.8Suwe  <indexterm zone="glossary:Passive_grab" significance="preferred"><primary>Passive grab</primary></indexterm>
7661.8Suwe  <glossdef>
7671.8Suwe    <para>
7681.9SuweGrabbing a key or button is a passive grab.
7691.8SuweThe grab activates when the key or button is actually pressed.
7701.9Suwe<!-- .KE -->
7711.8Suwe    </para>
7721.8Suwe  </glossdef>
7731.8Suwe</glossentry>
7741.35Schristos<glossentry id="glossary:Pixel_value">
7751.8Suwe  <glossterm>Pixel value</glossterm>
7761.8Suwe  <indexterm zone="glossary:Pixel_value" significance="preferred"><primary>Pixel value</primary></indexterm>
7771.8Suwe  <glossdef>
7781.9Suwe    <para>
7791.8SuweA pixel is an N-bit value, where N is the number of bit planes used
7801.9Suwein a particular window or pixmap (that is,
7811.8SuweN is the depth of the window or pixmap).
7821.8SuweFor a window,
7831.8Suwea pixel value indexes a colormap to derive an actual color to be displayed.
7841.35Schristos<!-- .KE -->
7851.35Schristos    </para>
7861.1Spk  </glossdef>
7871.1Spk</glossentry>
7881.31Spk<glossentry id="glossary:Pixmap">
7891.31Spk  <glossterm>Pixmap</glossterm>
7901.1Spk  <indexterm zone="glossary:Pixmap" significance="preferred"><primary>Pixmap</primary></indexterm>
7911.29Spk  <glossdef>
7921.9Suwe    <para>
7931.1SpkA pixmap is a three-dimensional array of bits.
7941.1SpkA pixmap is normally thought of as a two-dimensional array of pixels,
7951.1Spkwhere each pixel can be a value from 0 to (2^N)-1
7961.1Spkand where N is the depth (z axis) of the pixmap.
7971.35SchristosA pixmap can also be thought of as a stack of N bitmaps.
7981.35Schristos<!-- .KE -->
7991.1Spk    </para>
8001.1Spk  </glossdef>
8011.31Spk</glossentry>
8021.31Spk<glossentry id="glossary:Plane">
8031.1Spk  <glossterm>Plane</glossterm>
8041.29Spk  <indexterm zone="glossary:Plane" significance="preferred"><primary>Plane</primary></indexterm>
8051.9Suwe  <glossdef>
8061.1Spk    <para>
8071.1SpkWhen a pixmap or window is thought of as a stack of bitmaps,
8081.1Spkeach bitmap is called a plane or bit plane.
8091.1Spk<!-- .KE -->
8101.35Schristos    </para>
8111.35Schristos  </glossdef>
8121.1Spk</glossentry>
8131.1Spk<glossentry id="glossary:Plane_mask">
8141.31Spk  <glossterm>Plane mask</glossterm>
8151.31Spk  <indexterm zone="glossary:Plane_mask" significance="preferred"><primary>Plane</primary><secondary>mask</secondary></indexterm>
8161.1Spk  <glossdef>
8171.29Spk    <para>
8181.9SuweGraphics operations can be restricted to only affect a subset of bit
8191.1Spkplanes of a destination.
8201.1SpkA plane mask is a bit mask describing which planes are to be modified.
8211.1SpkThe plane mask is stored in a graphics context.
8221.1Spk<!-- .KE -->
8231.8Suwe    </para>
8241.35Schristos  </glossdef>
8251.1Spk</glossentry>
8261.7Suwe<glossentry id="glossary:Pointer">
8271.7Suwe  <glossterm>Pointer</glossterm>
8281.7Suwe  <indexterm zone="glossary:Pointer" significance="preferred"><primary>Pointer</primary></indexterm>
8291.1Spk  <glossdef>
8301.14Spk    <para>
8311.14SpkThe pointer is the pointing device attached to the cursor
8321.31Spkand tracked on the screens.
8331.35Schristos<!-- .KE -->
8341.31Spk    </para>
8351.31Spk  </glossdef>
8361.31Spk</glossentry>
8371.31Spk<glossentry id="glossary:Pointer_grabbing">
8381.15Spk  <glossterm>Pointer grabbing</glossterm>
8391.15Spk  <indexterm zone="glossary:Pointer_grabbing" significance="preferred"><primary>Pointer</primary><secondary>grabbing</secondary></indexterm>
8401.15Spk  <glossdef>
8411.15Spk    <para>
8421.14SpkA client can actively grab control of the pointer.
8431.35SchristosThen button and motion events will be sent to that client
8441.14Spkrather than the client the events would normally have been sent to.
8451.14Spk<!-- .KE -->
8461.15Spk    </para>
8471.35Schristos  </glossdef>
8481.14Spk</glossentry>
8491.15Spk<glossentry id="glossary:Pointing_device">
8501.15Spk  <glossterm>Pointing device</glossterm>
8511.15Spk  <indexterm zone="glossary:Pointing_device" significance="preferred"><primary>Pointing device</primary></indexterm>
8521.15Spk  <glossdef>
8531.15Spk    <para>
8541.15SpkA pointing device is typically a mouse, tablet, or some other
8551.15Spkdevice with effective dimensional motion.
8561.14SpkThere is only one visible cursor defined by the core protocol,
8571.14Spkand it tracks whatever pointing device is attached as the pointer.
8581.14Spk<!-- .KE -->
8591.14Spk    </para>
8601.14Spk  </glossdef>
8611.15Spk</glossentry>
8621.15Spk<glossentry id="glossary:Property">
8631.15Spk  <glossterm>Property</glossterm>
8641.14Spk  <indexterm zone="glossary:Property" significance="preferred"><primary>Property</primary></indexterm>
8651.15Spk  <glossdef>
8661.15Spk    <para>
8671.15SpkWindows may have associated properties,
8681.14Spkwhich consist of a name, a type, a data format, and some data.
8691.14SpkThe protocol places no interpretation on properties.
8701.14SpkThey are intended as a general-purpose naming mechanism for clients.
8711.14SpkFor example, clients might use properties to share information such as resize
8721.14Spkhints, program names, and icon formats with a window manager.
8731.14Spk<!-- .KE -->
8741.14Spk    </para>
8751.14Spk  </glossdef>
8761.14Spk</glossentry>
8771.15Spk<glossentry id="glossary:Property_list">
8781.15Spk  <glossterm>Property list</glossterm>
8791.15Spk  <indexterm zone="glossary:Property_list" significance="preferred"><primary>Property list</primary></indexterm>
8801.15Spk  <glossdef>
8811.15Spk    <para>
8821.15SpkThe property list of a window is the list of properties that have
8831.35Schristosbeen defined for the window.
8841.15Spk<!-- .KE -->
8851.15Spk    </para>
8861.15Spk  </glossdef>
8871.15Spk</glossentry>
8881.31Spk<glossentry id="glossary:PseudoColor">
8891.14Spk  <glossterm>PseudoColor</glossterm>
8901.14Spk  <indexterm zone="glossary:PseudoColor" significance="preferred"><primary>PseudoColor</primary></indexterm>
8911.14Spk  <glossdef>
8921.14Spk    <para>
8931.14Spk<emphasis role='bold'>PseudoColor</emphasis>
8941.14Spkis a class of colormap in which a pixel value indexes the colormap to
8951.14Spkproduce independent red, green, and blue values;
8961.14Spkthat is, the colormap is viewed as an array of triples (RGB values).
8971.14SpkThe RGB values can be changed dynamically.
8981.14Spk<!-- .KE -->
8991.14Spk    </para>
9001.14Spk  </glossdef>
9011.14Spk</glossentry>
9021.14Spk<glossentry id="glossary:Redirecting_control">
9031.14Spk  <glossterm>Redirecting control</glossterm>
9041.14Spk  <indexterm zone="glossary:Redirecting_control" significance="preferred"><primary>Redirecting control</primary></indexterm>
9051.14Spk  <glossdef>
9061.14Spk    <para>
9071.14SpkWindow managers (or client programs) may want to enforce window layout
9081.14Spkpolicy in various ways.
9091.14SpkWhen a client attempts to change the size or position of a window,
9101.14Spkthe operation may be redirected to a specified client
9111.14Spkrather than the operation actually being performed.
9121.15Spk<!-- .KE -->
9131.14Spk    </para>
9141.14Spk  </glossdef>
9151.14Spk</glossentry>
9161.14Spk<glossentry id="glossary:Reply">
9171.14Spk  <glossterm>Reply</glossterm>
9181.15Spk  <indexterm zone="glossary:Reply" significance="preferred"><primary>Reply</primary></indexterm>
9191.15Spk  <glossdef>
9201.29Spk    <para>
9211.15SpkInformation requested by a client program is sent back to the client
9221.35Schristoswith a reply.
9231.29SpkBoth events and replies are multiplexed on the same connection.
9241.22SmrgMost requests do not generate replies,
9251.15Spkalthough some requests generate multiple replies.
9261.14Spk<!-- .KE -->
9271.14Spk    </para>
9281.14Spk  </glossdef>
9291.14Spk</glossentry>
9301.15Spk<glossentry id="glossary:Request">
9311.15Spk  <glossterm>Request</glossterm>
9321.14Spk  <indexterm zone="glossary:Request" significance="preferred"><primary>Request</primary></indexterm>
9331.14Spk  <glossdef>
9341.14Spk    <para>
9351.15SpkA command to the server is called a request.
9361.16SpkIt is a single block of data sent over a connection.
9371.16Spk<!-- .KE -->
9381.16Spk    </para>
9391.16Spk  </glossdef>
9401.16Spk</glossentry>
9411.16Spk<glossentry id="glossary:Resource">
9421.16Spk  <glossterm>Resource</glossterm>
9431.16Spk  <indexterm zone="glossary:Resource" significance="preferred"><primary>Resource</primary></indexterm>
9441.16Spk  <glossdef>
9451.16Spk    <para>
9461.16SpkWindows, pixmaps, cursors, fonts, graphics contexts, and colormaps are
9471.16Spkknown as resources.
9481.31SpkThey all have unique identifiers associated with them for naming purposes.
9491.16SpkThe lifetime of a resource usually is bounded by the lifetime of the connection
9501.36Sthorpejover which the resource was created.
9511.16Spk<!-- .KE -->
9521.16Spk    </para>
9531.16Spk  </glossdef>
9541.40Smrg</glossentry>
9551.31Spk<glossentry id="glossary:RGB_values">
9561.31Spk  <glossterm>RGB values</glossterm>
9571.16Spk  <indexterm zone="glossary:RGB_values" significance="preferred"><primary>RGB values</primary></indexterm>
9581.16Spk  <glossdef>
9591.31Spk    <para>
9601.31SpkRed, green, and blue (RGB) intensity values are used to define color.
9611.40SmrgThese values are always represented as 16-bit unsigned numbers,
9621.31Spkwith 0 being the minimum intensity and 65535 being the maximum intensity.
9631.31SpkThe server scales the values to match the display hardware.
9641.31Spk<!-- .KE -->
9651.31Spk    </para>
9661.31Spk  </glossdef>
9671.16Spk</glossentry>
9681.16Spk<glossentry id="glossary:Root">
9691.16Spk  <glossterm>Root</glossterm>
9701.16Spk  <indexterm zone="glossary:Root" significance="preferred"><primary>Root</primary></indexterm>
9711.16Spk  <glossdef>
9721.16Spk    <para>
9731.16SpkThe root of a pixmap, colormap, or graphics context is the same as the root of
9741.16Spkwhatever drawable was used when the pixmap, colormap, or graphics context was
9751.16Spkcreated.
9761.16SpkThe root of a window is the root window under which the window was created.
9771.29Spk<!-- .KE -->
9781.16Spk    </para>
9791.16Spk  </glossdef>
9801.16Spk</glossentry>
9811.16Spk<glossentry id="glossary:Root_window">
9821.16Spk  <glossterm>Root window</glossterm>
9831.16Spk  <indexterm zone="glossary:Root_window" significance="preferred"><primary>Window</primary><secondary>root</secondary></indexterm>
9841.16Spk  <glossdef>
9851.36Sthorpej    <para>
9861.36SthorpejEach screen has a root window covering it.
9871.36SthorpejIt cannot be reconfigured or unmapped,
9881.36Sthorpejbut it otherwise acts as a full-fledged window.
9891.16SpkA root window has no parent.
9901.16Spk<!-- .KE -->
9911.16Spk    </para>
9921.16Spk  </glossdef>
9931.16Spk</glossentry>
9941.37Suwe<glossentry id="glossary:Save_set">
9951.16Spk  <glossterm>Save set</glossterm>
9961.42Smartin  <indexterm zone="glossary:Save_set" significance="preferred"><primary>Save set</primary></indexterm>
9971.42Smartin  <glossdef>
9981.42Smartin    <para>
9991.42SmartinThe save set of a client is a list of other clients' windows that,
10001.42Smartinif they are inferiors of one of the client's windows at connection close,
10011.42Smartinshould not be destroyed and that should be remapped if currently unmapped.
10021.42SmartinSave sets are typically used by window managers to avoid
10031.42Smartinlost windows if the manager terminates abnormally.
10041.42Smartin<!-- .KE -->
10051.42Smartin    </para>
10061.42Smartin  </glossdef>
10071.42Smartin</glossentry>
10081.42Smartin<glossentry id="glossary:Scanline">
10091.25Spk  <glossterm>Scanline</glossterm>
10101.25Spk  <indexterm zone="glossary:Scanline" significance="preferred"><primary>Scanline</primary></indexterm>
10111.25Spk  <glossdef>
10121.25Spk    <para>
10131.42SmartinA scanline is a list of pixel or bit values viewed as a horizontal
10141.25Spkrow (all values having the same y coordinate) of an image, with the
10151.25Spkvalues ordered by increasing x coordinate.
10161.25Spk<!-- .KE -->
10171.25Spk    </para>
10181.25Spk  </glossdef>
10191.25Spk</glossentry>
10201.25Spk<glossentry id="glossary:Scanline_order">
10211.25Spk  <glossterm>Scanline order</glossterm>
10221.25Spk  <indexterm zone="glossary:Scanline_order" significance="preferred"><primary>Scanline order</primary></indexterm>
10231.25Spk  <glossdef>
10241.25Spk    <para>
10251.29SpkAn image represented in scanline order contains scanlines ordered by
10261.25Spkincreasing y coordinate.
10271.25Spk<!-- .KE -->
10281.42Smartin    </para>
10291.25Spk  </glossdef>
10301.25Spk</glossentry>
10311.25Spk<glossentry id="glossary:Screen">
10321.25Spk  <glossterm>Screen</glossterm>
10331.25Spk  <indexterm zone="glossary:Screen" significance="preferred"><primary>Screen</primary></indexterm>
10341.25Spk  <glossdef>
10351.25Spk    <para>
10361.26SpkA server can provide several independent screens,
10371.26Spkwhich typically have physically independent monitors.
10381.42SmartinThis would be the expected configuration when there is only a single keyboard
10391.25Spkand pointer shared among the screens.
10401.25Spk<!-- .KE -->
10411.25Spk    </para>
10421.29Spk  </glossdef>
10431.25Spk</glossentry>
10441.42Smartin<glossentry id="glossary:Selection">
10451.16Spk  <glossterm>Selection</glossterm>
10461.42Smartin  <indexterm zone="glossary:Selection" significance="preferred"><primary>Selection</primary></indexterm>
10471.1Spk  <glossdef>
10481.1Spk    <para>
10491.32SpkA selection can be thought of as an indirect property with dynamic
10501.32Spktype; that is, rather than having the property stored in the server,
10511.32Spkit is maintained by some client (the <quote>owner</quote>).
10521.32SpkA selection is global in nature and is thought of as belonging to the user
10531.32Spk(although maintained by clients), rather than as being private to a particular
10541.32Spkwindow subhierarchy or a particular set of clients.
10551.35SchristosWhen a client asks for the contents of a selection,
10561.32Spkit specifies a selection <quote>target type</quote>.
10571.32SpkThis target type can be used to control the transmitted representation of the
10581.35Schristoscontents.
10591.35SchristosFor example,
10601.35Schristosif the selection is <quote>the last thing the user clicked on</quote>
10611.32Spkand that is currently an image, then the target type might specify
10621.32Spkwhether the contents of the image should be sent in XY format or Z format.
10631.32SpkThe target type can also be used to control the class of contents transmitted;
10641.32Spkfor example, asking for the <quote>looks</quote> (fonts, line
10651.34Spkspacing, indentation, and so on) of a paragraph selection rather than the
10661.32Spktext of the paragraph.
10671.34SpkThe target type can also be used for other purposes.
10681.34SpkThe protocol does not constrain the semantics.
10691.32Spk<!-- .KE -->
10701.32Spk    </para>
10711.34Spk  </glossdef>
10721.34Spk</glossentry>
10731.34Spk<glossentry id="glossary:Server">
10741.34Spk  <glossterm>Server</glossterm>
10751.34Spk  <indexterm zone="glossary:Server" significance="preferred"><primary>Server</primary></indexterm>
10761.34Spk  <glossdef>
10771.34Spk    <para>
10781.34SpkThe server provides the basic windowing mechanism.
10791.32SpkIt handles connections from clients,
10801.32Spkmultiplexes graphics requests onto the screens,
10811.34Spkand demultiplexes input back to the appropriate clients.
10821.32Spk<!-- .KE -->
10831.32Spk    </para>
10841.28Spk  </glossdef>
10851.28Spk</glossentry>
10861.28Spk<glossentry id="glossary:Server_grabbing">
10871.1Spk  <glossterm>Server grabbing</glossterm>
10881.39Sperry  <indexterm zone="glossary:Server_grabbing" significance="preferred"><primary>Server</primary><secondary>grabbing</secondary></indexterm>
10891.37Suwe  <glossdef>
10901.1Spk    <para>
10911.1SpkThe server can be grabbed by a single client for exclusive use.
10921.28SpkThis prevents processing of any requests from other client connections until
10931.1Spkthe grab is completed.
10941.1SpkThis is typically only a transient state for
10951.1Spksuch things as rubber-banding, pop-up menus, or to execute requests
10961.1Spkindivisibly.
10971.1Spk<!-- .KE -->
10981.1Spk    </para>
10991.1Spk  </glossdef>
11001.1Spk</glossentry>
11011.1Spk<glossentry id="glossary:Sibling">
11021.6Spk  <glossterm>Sibling</glossterm>
11031.1Spk  <indexterm zone="glossary:Sibling" significance="preferred"><primary>Sibling</primary></indexterm>
11041.1Spk  <glossdef>
11051.1Spk    <para>
11061.1SpkChildren of the same parent window are known as sibling windows.
11071.1Spk<!-- .KE -->
11081.5Spk    </para>
11091.1Spk  </glossdef>
11101.1Spk</glossentry>
11111.1Spk<glossentry id="glossary:Stacking_order">
11121.1Spk  <glossterm>Stacking order</glossterm>
11131.1Spk  <indexterm zone="glossary:Stacking_order" significance="preferred"><primary>Stacking order</primary></indexterm>
11141.1Spk  <glossdef>
11151.1Spk    <para>
11161.1SpkSibling windows may stack on top of each other.
11171.10SmattWindows above other windows both obscure and occlude those lower windows.
11181.1SpkThis is similar to paper on a desk.
11191.1SpkThe relationship between sibling windows is known as the stacking order.
11201.28Spk<!-- .KE -->
11211.1Spk    </para>
11221.1Spk  </glossdef>
11231.10Smatt</glossentry>
11241.1Spk<glossentry id="glossary:StaticColor">
11251.1Spk  <glossterm>StaticColor</glossterm>
11261.1Spk  <indexterm zone="glossary:StaticColor" significance="preferred"><primary>StaticColor</primary></indexterm>
11271.39Sperry  <glossdef>
11281.37Suwe    <para>
11291.1Spk<emphasis role='bold'>StaticColor</emphasis>
11301.1Spkcan be viewed as a degenerate case of
11311.1Spk<glossterm linkend="glossary:PseudoColor"><emphasis role='bold'>PseudoColor</emphasis></glossterm>
11321.1Spkin which the RGB values are predefined and read-only.
11331.1Spk<!-- .KE -->
11341.1Spk    </para>
11351.1Spk  </glossdef>
11361.1Spk</glossentry>
11371.1Spk<glossentry id="glossary:StaticGray">
11381.1Spk  <glossterm>StaticGray</glossterm>
11391.1Spk  <indexterm zone="glossary:StaticGray" significance="preferred"><primary>StaticGray</primary></indexterm>
11401.1Spk  <glossdef>
11411.1Spk    <para>
11421.1Spk<emphasis role='bold'>StaticGray</emphasis>
11431.1Spkcan be viewed as a degenerate case of
11441.1Spk<glossterm linkend="glossary:GrayScale"><emphasis role='bold'>GrayScale</emphasis></glossterm>
11451.1Spkin which the gray values are predefined and read-only.
11461.1SpkThe values are typically linear or near-linear increasing ramps.
11471.1Spk<!-- .KE -->
11481.1Spk    </para>
11491.1Spk  </glossdef>
11501.1Spk</glossentry>
11511.1Spk<glossentry id="glossary:Stipple">
11521.1Spk  <glossterm>Stipple</glossterm>
11531.1Spk  <indexterm zone="glossary:Stipple" significance="preferred"><primary>Stipple</primary></indexterm>
11541.1Spk  <glossdef>
11551.1Spk    <para>
11561.1SpkA stipple pattern is a bitmap that is used to tile a region that will serve
11571.1Spkas an additional clip mask for a fill operation with the foreground
11581.1Spkcolor.
11591.1Spk<!-- .KE -->
11601.1Spk    </para>
11611.1Spk  </glossdef>
11621.1Spk</glossentry>
11631.1Spk<glossentry id="glossary:String_Equivalence">
11641.1Spk  <glossterm>String Equivalence</glossterm>
11651.1Spk  <indexterm zone="glossary:String_Equivalence" significance="preferred"><primary>String Equivalence</primary></indexterm>
11661.1Spk  <glossdef>
11671.1Spk    <para>
11681.1SpkTwo ISO Latin-1 STRING8 values are considered equal if they are the same
11691.1Spklength and if corresponding bytes are either equal or are equivalent as
11701.1Spkfollows:  decimal values 65 to 90 inclusive (characters <quote>A</quote> to <quote>Z</quote>) are
11711.1Spkpairwise equivalent to decimal values 97 to 122 inclusive
11721.1Spk(characters <quote>a</quote> to <quote>z</quote>), decimal values 192 to 214 inclusive
11731.1Spk(characters <quote>A grave</quote> to <quote>O diaeresis</quote>) are pairwise equivalent to decimal
11741.1Spkvalues 224 to 246 inclusive (characters <quote>a grave</quote> to <quote>o diaeresis</quote>),
11751.1Spkand decimal values 216 to 222 inclusive (characters <quote>O oblique</quote> to <quote>THORN</quote>)
11761.1Spkare pairwise equivalent to decimal values 246 to 254 inclusive
11771.1Spk(characters <quote>o oblique</quote> to <quote>thorn</quote>).
11781.1Spk<!-- .KE -->
11791.1Spk    </para>
11801.1Spk  </glossdef>
11811.1Spk</glossentry>
11821.1Spk<glossentry id="glossary:Tile">
11831.1Spk  <glossterm>Tile</glossterm>
11841.1Spk  <indexterm zone="glossary:Tile" significance="preferred"><primary>Tile</primary></indexterm>
11851.1Spk  <glossdef>
11861.1Spk    <para>
11871.1SpkA pixmap can be replicated in two dimensions to tile a region.
11881.1SpkThe pixmap itself is also known as a tile.
11891.1Spk<!-- .KE -->
11901.1Spk    </para>
11911.1Spk  </glossdef>
11921.1Spk</glossentry>
11931.1Spk<glossentry id="glossary:Timestamp">
11941.1Spk  <glossterm>Timestamp</glossterm>
11951.1Spk  <indexterm zone="glossary:Timestamp" significance="preferred"><primary>Timestamp</primary></indexterm>
11961.1Spk  <indexterm zone="glossary:Timestamp" significance="preferred"><primary>CurrentTime</primary></indexterm>
11971.1Spk  <glossdef>
11981.1Spk    <para>
11991.1SpkA timestamp is a time value, expressed in milliseconds.
12001.1SpkIt typically is the time since the last
12011.1Spkserver reset.
12021.1SpkTimestamp values wrap around (after about 49.7 days).
12031.1SpkThe server, given its current time is represented by timestamp T,
12041.1Spkalways interprets timestamps from clients by treating half of the
12051.1Spktimestamp space as being earlier in time than T and half of the
12061.1Spktimestamp space as being later in time than T.
12071.1SpkOne timestamp value (named
12081.1Spk<emphasis role='bold'>CurrentTime</emphasis>)
12091.1Spkis never generated by the server.
12101.1SpkThis value is reserved for use in requests to represent the current
12111.1Spkserver time.
12121.1Spk<!-- .KE -->
12131.1Spk    </para>
12141.1Spk  </glossdef>
12151.1Spk</glossentry>
12161.1Spk<glossentry id="glossary:TrueColor">
12171.1Spk  <glossterm>TrueColor</glossterm>
12181.1Spk  <indexterm zone="glossary:TrueColor" significance="preferred"><primary>TrueColor</primary></indexterm>
12191.1Spk  <glossdef>
12201.1Spk    <para>
12211.1Spk<emphasis role='bold'>TrueColor</emphasis>
12221.1Spkcan be viewed as a degenerate case of
12231.1Spk<glossterm linkend="glossary:DirectColor"><emphasis role='bold'>DirectColor</emphasis></glossterm>
12241.3Spkin which the subfields in the pixel value directly encode
12251.3Spkthe corresponding RGB values; that is, the colormap has predefined
12261.3Spkread-only RGB values.
12271.3SpkThe values are typically linear or near-linear increasing ramps.
12281.1Spk<!-- .KE -->
12291.1Spk    </para>
12301.1Spk  </glossdef>
12311.1Spk</glossentry>
12321.1Spk<glossentry id="glossary:Type">
12331.39Sperry  <glossterm>Type</glossterm>
12341.37Suwe  <indexterm zone="glossary:Type" significance="preferred"><primary>Type</primary></indexterm>
12351.1Spk  <glossdef>
12361.1Spk    <para>
12371.1SpkA type is an arbitrary atom used to identify the interpretation of
12381.1Spkproperty data.
12391.1SpkTypes are completely uninterpreted by the server
12401.1Spkand are solely for the benefit of clients.
12411.1Spk<!-- .KE -->
12421.1Spk    </para>
12431.1Spk  </glossdef>
12441.1Spk</glossentry>
12451.1Spk<glossentry id="glossary:Viewable">
12461.31Spk  <glossterm>Viewable</glossterm>
12471.1Spk  <indexterm zone="glossary:Viewable" significance="preferred"><primary>Viewable</primary></indexterm>
12481.1Spk  <glossdef>
12491.1Spk    <para>
12501.1SpkA window is viewable if it and all of its ancestors are mapped.
12511.1SpkThis does not imply that any portion of the window is actually visible.
12521.1SpkGraphics requests can be performed on a window when it is not viewable,
12531.1Spkbut output will not be retained unless the server is maintaining
12541.1Spkbacking store.
12551.1Spk<!-- .KE -->
12561.1Spk    </para>
12571.1Spk  </glossdef>
12581.1Spk</glossentry>
12591.1Spk<glossentry id="glossary:Visible">
12601.1Spk  <glossterm>Visible</glossterm>
12611.1Spk  <indexterm zone="glossary:Visible" significance="preferred"><primary>Visible</primary></indexterm>
12621.1Spk  <glossdef>
12631.1Spk    <para>
12641.1SpkA region of a window is visible if someone looking at the screen can
12651.7Suweactually see it;
12661.1Spkthat is, the window is viewable and the region is not occluded by any
12671.1Spkother window.
12681.1Spk<!-- .KE -->
12691.1Spk    </para>
12701.1Spk  </glossdef>
12711.1Spk</glossentry>
12721.8Suwe<glossentry id="glossary:Window_gravity">
12731.8Suwe  <glossterm>Window gravity</glossterm>
12741.1Spk  <indexterm zone="glossary:Window_gravity" significance="preferred"><primary>Window</primary><secondary>gravity</secondary></indexterm>
12751.1Spk  <glossdef>
12761.1Spk    <para>
12771.1SpkWhen windows are resized,
12781.1Spksubwindows may be repositioned automatically relative to some position
12791.45Spallein the window.
12801.45SpalleThis attraction of a subwindow to some part of its parent is known
12811.1Spkas window gravity.
12821.1Spk<!-- .KE -->
12831.1Spk    </para>
12841.1Spk  </glossdef>
12851.1Spk</glossentry>
12861.1Spk<glossentry id="glossary:Window_manager">
12871.37Suwe  <glossterm>Window manager</glossterm>
12881.1Spk  <indexterm zone="glossary:Window_manager" significance="preferred"><primary>Window</primary><secondary>manager</secondary></indexterm>
12891.17Spk  <glossdef>
12901.17Spk    <para>
12911.17SpkManipulation of windows on the screen and much of the user interface
12921.17Spk(policy) is typically provided by a window manager client.
12931.1Spk<!-- .KE -->
12941.1Spk    </para>
12951.1Spk  </glossdef>
12961.1Spk</glossentry>
12971.1Spk<glossentry id="glossary:XYFormat">
12981.1Spk  <glossterm>XYFormat</glossterm>
12991.1Spk  <indexterm zone="glossary:XYFormat" significance="preferred"><primary>XYFormat</primary></indexterm>
13001.1Spk  <glossdef>
13011.1Spk    <para>
13021.1SpkThe data for a pixmap is said to be in XY format if it is organized as
13031.1Spka set of bitmaps representing individual bit planes, with the planes
13041.17Spkappearing from most-significant to least-significant in bit order.
13051.17Spk<!-- .KE -->
13061.17Spk    </para>
13071.17Spk  </glossdef>
13081.17Spk</glossentry>
13091.17Spk<glossentry id="glossary:ZFormat">
13101.17Spk  <glossterm>ZFormat</glossterm>
13111.17Spk  <indexterm zone="glossary:ZFormat" significance="preferred"><primary>ZFormat</primary></indexterm>
13121.18Suwe  <glossdef>
13131.17Spk    <para>
13141.17SpkThe data for a pixmap is said to be in Z format if it is organized as
13151.18Suwea set of pixel values in scanline order.
13161.17Spk<!-- .KE -->
13171.17Spk    </para>
13181.17Spk  </glossdef>
13191.17Spk</glossentry>
13201.17Spk</glossary>
13211.17Spk