Cleanup IDs and links in doc

1 - fix the capitalization of the ID attributes to match either the
     <title> or <funcdef> string it goes with.
2 - fix any <linkend>'s that were affected by 1.
3 - any <function> in the docs that has an actual funcdef,
will become an olink.

Signed-off-by: Matt Dew <marcoz@osource.org>
This commit is contained in:
Matt Dew 2011-10-07 22:52:30 -06:00
parent f858f3326a
commit 22ba43d198
48 changed files with 3716 additions and 3740 deletions

View file

@ -374,11 +374,9 @@ synchronization problem between the IM library and the IM Server.
Using this method, the IM library forwards all KeyPress and KeyRelease
events to the IM Server (as required by the Event Flow Control model
described in
<link linkend="event_flow_control">
<xref linkend="event_flow_control"></xref></link>)
<xref linkend='Event_Flow_Control' xrefstyle='select: title'/>)
and synchronizes with the IM Server (as described in
<link linkend="filtering_events">
<xref linkend="filtering_events"></xref></link>).
<xref linkend='Filtering_Events' xrefstyle='select: title'/>).
</para>
</sect3>
@ -405,8 +403,7 @@ client, and these problems could possibly cause the loss or duplication
of key events. For this reason, the BackEnd method is the core method
supported, and the FrontEnd method is made available as an extension for
performance purposes. (Refer to
<link linkend="common_extensions">
<xref linkend="common_extensions"></xref></link>
<xref linkend="common_extensions" xrefstyle='select: title'/>
for more information.)
</para>
@ -426,7 +423,7 @@ Fig.1 The Flow of Events
</sect3>
</sect2>
<sect2 id="event_flow_control">
<sect2 id='Event_Flow_Control'>
<title>Event Flow Control</title>
<!-- .XS -->
<!-- (SN Event Flow Control -->
@ -466,8 +463,7 @@ message in order to switch the event flow in the Dynamic Event Flow.
<para>
<!-- .LP -->
The protocol for this process is described in
<link linkend="event_flow_control_2">
<xref linkend="event_flow_control_2"></xref></link>.
<xref linkend='Event_Flow_Control_2' xrefstyle='select: title'/>.
</para>
</sect2>
</sect1>
@ -511,8 +507,7 @@ The address information retrievable from the
<function>TRANSPORT</function>
target is a transport-specific name.
The preregistered formats for transport-specific names are listed in
<link linkend="transport_list">
<xref linkend="transport_list"></xref></link>.
<xref linkend="transport_list" xrefstyle='select: title'/>.
Additional transport-specific names may be registered with X Consortium.
</para>
@ -1431,7 +1426,7 @@ XIM_CLOSE_REPLY (IM Server -&gt; IM library)
</sect2>
<sect2 id="event_flow_control_2">
<sect2 id='Event_Flow_Control_2'>
<title>Event Flow Control</title>
<!-- .XS -->
<!-- (SN Event Flow Control -->
@ -1933,7 +1928,7 @@ is an asynchronous request.
</sect2>
<sect2 id="filtering_events">
<sect2 id='Filtering_Events'>
<title>Filtering Events</title>
<para>
Event filtering is mainly provided for BackEnd method to allow input method
@ -3534,7 +3529,7 @@ The arguments of the XChangeProperty are as follows:
<para>
The read/write property ATOM allocates the following strings by
<function>XInternAtom</function>.
<olink targetdoc='libX11' targetptr='XInternAtom'><function>XInternAtom</function></olink>.
</para>
<para>
@ -3844,7 +3839,7 @@ The arguments of the XChangeProperty are as follows:
<para>
(*1) The read/write property ATOM allocates some strings, which are not
allocated by the client, by <function>XInternAtom</function>.
allocated by the client, by <olink targetdoc='libX11' targetptr='XInternAtom'><function>XInternAtom</function></olink>.
</para>
<para>

View file

@ -1,4 +1,4 @@
<chapter id='overview'>
<chapter id='Overview'>
<title>Overview</title>
<para>
@ -6,7 +6,7 @@ The X Keyboard Extension provides capabilities that are lacking or are
cumbersome in the core X protocol.
</para>
<sect1 id='core_x_protocol_support_for_keyboards'>
<sect1 id='Core_X_Protocol_Support_for_Keyboards'>
<title>Core X Protocol Support for Keyboards</title>
<para>
@ -74,7 +74,7 @@ heuristics.
</itemizedlist>
</sect1>
<sect1 id='xkb_keyboard_extension_support_for_keyboards'>
<sect1 id='Xkb_Keyboard_Extension_Support_for_Keyboards'>
<title>Xkb Keyboard Extension Support for Keyboards</title>
<para>
@ -93,7 +93,7 @@ designed to make keyboards more accessible to people with movement impairments.
</sect1>
<sect1 id='xkb_extension_components'>
<sect1 id='Xkb_Extension_Components'>
<title>Xkb Extension Components</title>
<para>
@ -214,7 +214,7 @@ configuration from its database of named components. Partial reconfiguration
and incremental reconfiguration are both supported.
</para>
<sect2 id='groups_and_shift_levels'>
<sect2 id='Groups_and_Shift_Levels'>
<title>Groups and Shift Levels</title>
<para>
@ -225,7 +225,7 @@ description of groups and levels.
</sect2>
<sect2 id='radio_groups'>
<sect2 id='Radio_Groups'>
<title>Radio Groups</title>
<para>
@ -242,7 +242,7 @@ XkbKB_RadioGroup</emphasis>
</sect2>
</sect1>
<sect1 id='client_types'>
<sect1 id='Client_Types'>
<title>Client Types</title>
<para>
@ -285,7 +285,7 @@ operate properly.
</sect1>
<sect1 id='compatibility_with_the_core_protocol'>
<sect1 id='Compatibility_With_the_Core_Protocol'>
<title>Compatibility With the Core Protocol</title>
<para>
@ -301,7 +301,7 @@ configuration.
</sect1>
<sect1 id='additional_protocol_errors'>
<sect1 id='Additional_Protocol_Errors'>
<title>Additional Protocol Errors</title>
<para>
@ -315,7 +315,7 @@ BadKeyboard</emphasis>
</sect1>
<sect1 id='extension_library_functions'>
<sect1 id='Extension_Library_Functions'>
<title>Extension Library Functions</title>
<para>
@ -345,7 +345,7 @@ directly manipulate the new capabilities.
</para>
<sect2 id='error_indications'>
<sect2 id='Error_Indications'>
<title>Error Indications</title>
<para>

View file

@ -1,6 +1,6 @@
<chapter id='initialization_and_general_programming_information'>
<chapter id='Initialization_and_General_Programming_Information'>
<title>Initialization and General Programming Information</title>
<sect1 id='extension_header_files'>
<sect1 id='Extension_Header_Files'>
<title>Extension Header Files</title>
<para>
The following include files are part of the Xkb standard:
@ -48,7 +48,7 @@ keyboard geometry descriptions.
</listitem>
</itemizedlist>
</sect1>
<sect1 id='extension_name'>
<sect1 id='Extension_Name'>
<title>Extension Name</title>
<para>
The name of the Xkb extension is given in <emphasis>
@ -70,7 +70,7 @@ XInitExtension</emphasis>
directly.
</para>
</sect1>
<sect1 id='determining_library_compatibility'>
<sect1 id='Determining_Library_Compatibility'>
<title>Determining Library Compatibility</title>
<para>
If an application is dynamically linked, both the X server and the client-side
@ -160,7 +160,7 @@ XkbQueryExtension</emphasis>
</para>
</sect1>
<sect1 id='initializing_the_keyboard_extension'>
<sect1 id='Initializing_the_Keyboard_Extension'>
<title>Initializing the Keyboard Extension</title>
<para>
Call <emphasis>
@ -469,7 +469,7 @@ XkbOD_Success</emphasis>
</itemizedlist>
</sect1>
<sect1 id='disabling_the_keyboard_extension'>
<sect1 id='Disabling_the_Keyboard_Extension'>
<title>Disabling the Keyboard Extension</title>
<para>
If a server supports the Xkb extension, the X library normally implements
@ -538,7 +538,7 @@ False</emphasis>
</para>
</sect1>
<sect1 id='protocol_errors'>
<sect1 id='Protocol_Errors'>
<title>Protocol Errors</title>
<para>
Many of the Xkb extension library functions described in this document can
@ -712,7 +712,7 @@ indicated ID
</table>
</sect1>
<sect1 id='display_and_device_specifications_in_function_calls'>
<sect1 id='Display_and_Device_Specifications_in_Function_Calls'>
<title>Display and Device Specifications in Function Calls</title>
<para>
Where a connection to the server is passed as an argument (Display*) and an

View file

@ -1,4 +1,4 @@
<chapter id='data_structures'>
<chapter id='Data_Structures'>
<title>Data Structures</title>
<para>
@ -27,7 +27,7 @@ structures. You should use them instead of allocating and freeing the
structures yourself.
</para>
<sect1 id='allocating_xkb_data_structures'>
<sect1 id='Allocating_Xkb_Data_Structures'>
<title>Allocating Xkb Data Structures</title>
<para>
@ -62,7 +62,7 @@ might be invalidated by calls to allocator functions.
</para>
</sect1>
<sect1 id='adding_data_and_editing_data_structures'>
<sect1 id='Adding_Data_and_Editing_Data_Structures'>
<title>Adding Data and Editing Data Structures</title>
<para>
@ -141,7 +141,7 @@ num_</emphasis>
</sect1>
<sect1 id='making_changes_to_the_servers_keyboard_description'>
<sect1 id='Making_Changes_to_the_Servers_Keyboard_Description'>
<title>Making Changes to the Servers Keyboard Description</title>
<para>
@ -178,7 +178,7 @@ changes data structure causes indeterminate behavior.
</sect1>
<sect1 id='tracking_keyboard_changes_in_the_server'>
<sect1 id='Tracking_Keyboard_Changes_in_the_Server'>
<title>Tracking Keyboard Changes in the Server</title>
<para>
@ -224,7 +224,7 @@ keyboard description.
</para>
</sect1>
<sect1 id='freeing_data_structures'>
<sect1 id='Freeing_Data_Structures'>
<title>Freeing Data Structures</title>
<para>

View file

@ -1,4 +1,4 @@
<chapter id='xkb_events'>
<chapter id='Xkb_Events'>
<title>Xkb Events</title>
<para>
@ -39,7 +39,7 @@ XkbSelectEventDetails</emphasis>
specify have been met.
</para>
<sect1 id='xkb_event_types'>
<sect1 id='Xkb_Event_Types'>
<title>Xkb Event Types</title>
<para>
@ -264,7 +264,7 @@ event.
</table>
</sect1>
<sect1 id='xkb_event_data_structures'>
<sect1 id='Xkb_Event_Data_Structures'>
<title>Xkb Event Data Structures</title>
<para>
@ -334,7 +334,7 @@ chapters where the events are described.
</sect1>
<sect1 id='selecting_xkb_events'>
<sect1 id='Selecting_Xkb_Events'>
<title>Selecting Xkb Events</title>
<para>
@ -635,7 +635,7 @@ XkbSelectEventDetails</emphasis>
</para>
<sect2 id='event_masks'>
<sect2 id='Event_Masks'>
<title>Event Masks</title>
<para>
@ -767,7 +767,7 @@ XkbSelectEvents</emphasis>
</sect2>
</sect1>
<sect1 id='unified_xkb_event_type'>
<sect1 id='Unified_Xkb_Event_Type'>
<title>Unified Xkb Event Type</title>
<para>

View file

@ -1,4 +1,4 @@
<chapter id='keyboard_state'>
<chapter id='Keyboard_State'>
<title>Keyboard State</title>
<para>
@ -13,7 +13,7 @@ Keyboard state encompasses all of the transitory information necessary to map a
</mediaobject>
<sect1 id='keyboard_state_description'>
<sect1 id='Keyboard_State_Description'>
<title>Keyboard State Description</title>
<para>
The Xkb keyboard state is comprised of the state of all keyboard modifiers, the keyboard group, and the state of the pointer buttons. These are grouped into the following components:
@ -294,10 +294,10 @@ The X11 protocol interpretation of modifiers does not include direct support for
</sect1>
<sect1 id='changing_the_keyboard_state'>
<sect1 id='Changing_the_Keyboard_State'>
<title>Changing the Keyboard State</title>
<sect2 id='changing_modifiers'>
<sect2 id='Changing_Modifiers'>
<title>Changing Modifiers</title>
<para>
@ -492,7 +492,7 @@ False</emphasis>
</sect2>
<sect2 id='changing_groups'>
<sect2 id='Changing_Groups'>
<title>Changing Groups</title>
<para>
@ -645,7 +645,7 @@ False</emphasis>
</sect2>
</sect1>
<sect1 id='determining_keyboard_state'>
<sect1 id='Determining_Keyboard_State'>
<title>Determining Keyboard State</title>
<para>
@ -739,7 +739,7 @@ All group values are expressed as group indices in the range [0..3]. Modifiers a
</sect1>
<sect1 id='tracking_keyboard_state'>
<sect1 id='Tracking_Keyboard_State'>
<title>Tracking Keyboard State</title>
<para>

View file

@ -1,4 +1,4 @@
<chapter id='complete_keyboard_description'>
<chapter id='Complete_Keyboard_Description'>
<title>Complete Keyboard Description</title>
<para>
@ -8,7 +8,7 @@ this single structure and provides references to other sections of this
document that discuss the major Xkb components in detail.
</para>
<sect1 id='the_xkbdescrec_structure'>
<sect1 id='The_XkbDescRec_Structure'>
<title>The XkbDescRec Structure</title>
<para>
@ -189,7 +189,7 @@ XkbDescRec</emphasis>
</table>
</sect1>
<sect1 id='obtaining_a_keyboard_description_from_the_server'>
<sect1 id='Obtaining_a_Keyboard_Description_from_the_Server'>
<title>Obtaining a Keyboard Description from the Server</title>
<para>
@ -277,7 +277,7 @@ XkbFreeKeyboard</emphasis>
</sect1>
<sect1 id='tracking_changes_to_the_keyboard_description_in_the_server'>
<sect1 id='Tracking_Changes_to_the_Keyboard_Description_in_the_Server'>
<title>Tracking Changes to the Keyboard Description in the Server</title>
<para>
@ -288,7 +288,7 @@ tracking changes to the keyboard description.
</sect1>
<sect1 id='allocating_and_freeing_a_keyboard_description'>
<sect1 id='Allocating_and_Freeing_a_Keyboard_Description'>
<title>Allocating and Freeing a Keyboard Description</title>
<para>

View file

@ -1,4 +1,4 @@
<chapter id='virtual_modifiers'>
<chapter id='Virtual_Modifiers'>
<title>Virtual Modifiers</title>
<para>
@ -62,7 +62,7 @@ specify the desired behavior, without regard for the actual physical bindings
in effect.
</para>
<sect1 id='virtual_modifier_names_and_masks'>
<sect1 id='Virtual_Modifier_Names_and_Masks'>
<title>Virtual Modifier Names and Masks</title>
<para>
@ -101,7 +101,7 @@ XkbGetNames</emphasis>
</sect1>
<sect1 id='modifier_definitions'>
<sect1 id='Modifier_Definitions'>
<title>Modifier Definitions</title>
<para>
@ -158,7 +158,7 @@ for the keyboard mapping of interest.
</sect1>
<sect1 id='binding_virtual_modifiers_to_real_modifiers'>
<sect1 id='Binding_Virtual_Modifiers_to_Real_Modifiers'>
<title>Binding Virtual Modifiers to Real Modifiers</title>
<para>
@ -174,7 +174,7 @@ Figure 16.2. <!-- xref -->
</sect1>
<sect1 id='virtual_modifier_key_mapping'>
<sect1 id='Virtual_Modifier_Key_Mapping'>
<title>Virtual Modifier Key Mapping</title>
<para>
@ -326,7 +326,7 @@ client has not requested it) while the servers corresponding definition may
contain virtual modifier information. </para></note>
<sect2 id='inactive_modifier_sets'>
<sect2 id='Inactive_Modifier_Sets'>
<title>Inactive Modifier Sets</title>
<para>
@ -364,7 +364,7 @@ virtual modifiers are bound.
</sect2>
</sect1>
<sect1 id='conventions'>
<sect1 id='Conventions'>
<title>Conventions</title>
<para>
@ -384,7 +384,7 @@ following names are suggested:
</literallayout>
</sect1>
<sect1 id='example'>
<sect1 id='Example'>
<title>Example</title>
<para>

View file

@ -1,4 +1,4 @@
<chapter id='indicators'>
<chapter id='Indicators'>
<title>Indicators</title>
<para>
@ -42,7 +42,7 @@ keyboard indicators, which makes it straightforward to provide an on-screen
used for manipulating them.
</para>
<sect1 id='indicator_names'>
<sect1 id='Indicator_Names'>
<title>Indicator Names</title>
<para>
@ -62,7 +62,7 @@ XkbGetNames</emphasis>
</sect1>
<sect1 id='indicator_data_structures'>
<sect1 id='Indicator_Data_Structures'>
<title>Indicator Data Structures</title>
<para>
@ -74,7 +74,7 @@ XkbIndicatorMapRec</emphasis>
</para>
<sect2 id='xkbindicatorrec'>
<sect2 id='XkbIndicatorRec'>
<title>XkbIndicatorRec</title>
<para>
@ -129,7 +129,7 @@ phys_indicators</emphasis>
</sect2>
<sect2 id='xkbindicatormaprec'>
<sect2 id='XkbIndicatorMapRec'>
<title>XkbIndicatorMapRec</title>
<para>
@ -191,7 +191,7 @@ For more information on the effects of explicit changes to indicators and the
relationship to the indicator map, see section 8.4.1. <!-- xref -->
</para>
<sect3 id='xkbindicatormaprec_flags_field'>
<sect3 id='XkbIndicatorMapRec_flags_field'>
<title>XkbIndicatorMapRec flags field</title>
<para>
@ -306,7 +306,7 @@ indicator on. If the conditions do not match, Xkb turns the indicator off.
</sect3>
<sect3 id='xkbindicatormaprec_which_groups_and_groups_fields'>
<sect3 id='XkbIndicatorMapRec_which_groups_and_groups_fields'>
<title>XkbIndicatorMapRec which_groups and groups fields</title>
<para>
@ -520,7 +520,7 @@ groups</emphasis>
</table>
</sect3>
<sect3 id='xkbindicatormaprec_which_mods_and_mods_fields'>
<sect3 id='XkbIndicatorMapRec_which_mods_and_mods_fields'>
<title>XkbIndicatorMapRec which_mods and mods fields</title>
<para>
@ -787,7 +787,7 @@ mods</emphasis>
</table>
</sect3>
<sect3 id='xkbindicatormaprec_ctrls_field'>
<sect3 id='XkbIndicatorMapRec_ctrls_field'>
<title>XkbIndicatorMapRec ctrls field</title>
<para>
@ -824,7 +824,7 @@ ctrls</emphasis>
</sect3>
</sect2>
</sect1>
<sect1 id='getting_information_about_indicators'>
<sect1 id='Getting_Information_About_Indicators'>
<title>Getting Information About Indicators</title>
<para>
@ -842,7 +842,7 @@ XkbIndicatorRec</emphasis>
</para>
<sect2 id='getting_indicator_state'>
<sect2 id='Getting_Indicator_State'>
<title>Getting Indicator State</title>
<para>
@ -923,7 +923,7 @@ XkbGetIndicatorState</emphasis>
</sect2>
<sect2 id='getting_indicator_information_by_index'>
<sect2 id='Getting_Indicator_Information_by_Index'>
<title>Getting Indicator Information by Index</title>
<para>
@ -1018,7 +1018,7 @@ XkbFreeIndicatorMaps</emphasis>
</sect2>
<sect2 id='getting_indicator_information_by_name'>
<sect2 id='Getting_Indicator_Information_by_Name'>
<title>Getting Indicator Information by Name</title>
<para>
@ -1189,7 +1189,7 @@ BadImplementation</emphasis>
</sect2>
</sect1>
<sect1 id='changing_indicator_maps_and_state'>
<sect1 id='Changing_Indicator_Maps_and_State'>
<title>Changing Indicator Maps and State</title>
<para>
@ -1216,7 +1216,7 @@ XkbChangeIndicators</emphasis>.
</para>
<sect2 id='effects_of_explicit_changes_on_indicators'>
<sect2 id='Effects_of_Explicit_Changes_on_Indicators'>
<title>Effects of Explicit Changes on Indicators</title>
<para>
@ -1314,7 +1314,7 @@ ctrls</emphasis>
</sect2>
<sect2 id='changing_indicator_maps_by_index'>
<sect2 id='Changing_Indicator_Maps_by_Index'>
<title>Changing Indicator Maps by Index</title>
<para>
@ -1380,7 +1380,7 @@ desc</emphasis>
</sect2>
<sect2 id='changing_indicator_maps_by_name'>
<sect2 id='Changing_Indicator_Maps_by_Name'>
<title>Changing Indicator Maps by Name</title>
<para>
@ -1567,7 +1567,7 @@ XkbNamesNotify</emphasis>
</sect2>
<sect2 id='the_xkbindicatorchangesrec_structure'>
<sect2 id='The_XkbIndicatorChangesRec_Structure'>
<title>The XkbIndicatorChangesRec Structure</title>
<para>
@ -1704,7 +1704,7 @@ XkbIndicatorMapNotify</emphasis>
</sect2>
</sect1>
<sect1 id='tracking_changes_to_indicator_state_or_map'>
<sect1 id='Tracking_Changes_to_Indicator_State_or_Map'>
<title>Tracking Changes to Indicator State or Map</title>
<para>
@ -1983,7 +1983,7 @@ BadMatch</emphasis>
</sect1>
<sect1 id='allocating_and_freeing_indicator_maps'>
<sect1 id='Allocating_and_Freeing_Indicator_Maps'>
<title>Allocating and Freeing Indicator Maps</title>
<para>

View file

@ -1,4 +1,4 @@
<chapter id='bells'>
<chapter id='Bells'>
<title>Bells</title>
<para>
@ -95,7 +95,7 @@ This chapter describes bell names, the functions used to generate named bells,
and the events the server generates for bells.
</para>
<sect1 id='bell_names'>
<sect1 id='Bell_Names'>
<title>Bell Names</title>
<para>
@ -192,7 +192,7 @@ XkbBellNotify</emphasis>
</table>
</sect1>
<sect1 id='audible_bells'>
<sect1 id='Audible_Bells'>
<title>Audible Bells</title>
<para>
@ -232,7 +232,7 @@ information on auto-reset controls, see section 10.1.2. <!-- xref -->
</para>
</sect1>
<sect1 id='bell_functions'>
<sect1 id='Bell_Functions'>
<title>Bell Functions</title>
<para>
@ -334,7 +334,7 @@ XkbBellNotifyEvent</emphasis>
</tgroup>
</table>
<sect2 id='generating_named_bells'>
<sect2 id='Generating_Named_Bells'>
<title>Generating Named Bells</title>
<para>
@ -564,7 +564,7 @@ XkbBell</emphasis>
</para>
</sect2>
<sect2 id='generating_named_bell_events'>
<sect2 id='Generating_Named_Bell_Events'>
<title>Generating Named Bell Events</title>
<para>
@ -787,7 +787,7 @@ without first initializing the keyboard extension.
</para>
</sect2>
<sect2 id='forcing_a_server_generated_bell'>
<sect2 id='Forcing_a_Server_Generated_Bell'>
<title>Forcing a Server-Generated Bell</title>
<para>
@ -980,7 +980,7 @@ XkbBell</emphasis>
</sect2>
</sect1>
<sect1 id='detecting_bells'>
<sect1 id='Detecting_Bells'>
<title>Detecting Bells</title>
<para>

View file

@ -1,4 +1,4 @@
<chapter id='keyboard_controls'>
<chapter id='Keyboard_Controls'>
<title>Keyboard Controls</title>
<para>
@ -197,7 +197,7 @@ XkbControlsRec</emphasis>
once follow at the end of the chapter.
</para>
<sect1 id='controls_that_enable_and_disable_other_controls'>
<sect1 id='Controls_that_Enable_and_Disable_Other_Controls'>
<title>Controls that Enable and Disable Other Controls</title>
<para>
@ -211,7 +211,7 @@ AutoReset</emphasis>
</para>
<sect2 id='the_enabledcontrols_control'>
<sect2 id='The_EnabledControls_Control'>
<title>The EnabledControls Control</title>
<para>
@ -337,7 +337,7 @@ its behavior in detail.
</sect2>
<sect2 id='the_autoreset_control'>
<sect2 id='The_AutoReset_Control'>
<title>The AutoReset Control</title>
<para>
@ -597,7 +597,7 @@ changes</emphasis>
</sect2>
</sect1>
<sect1 id='control_for_bell_behavior'>
<sect1 id='Control_for_Bell_Behavior'>
<title>Control for Bell Behavior</title>
<para>
@ -607,7 +607,7 @@ AudibleBell</emphasis>
</para>
<sect2 id='the_audiblebell_control'>
<sect2 id='The_AudibleBell_Control'>
<title>The AudibleBell Control</title>
<para>
@ -627,7 +627,7 @@ sound is forced. See section 9.2. <!-- xref -->
</sect2>
</sect1>
<sect1 id='controls_for_repeat_key_behavior'>
<sect1 id='Controls_for_Repeat_Key_Behavior'>
<title>Controls for Repeat Key Behavior</title>
<para>
@ -650,7 +650,7 @@ down.
</para>
<sect2 id='the_perkeyrepeat_control'>
<sect2 id='The_PerKeyRepeat_Control'>
<title>The PerKeyRepeat Control</title>
<para>
@ -672,7 +672,7 @@ XkbControlsRec</emphasis>
</sect2>
<sect2 id='the_repeatkeys_control'>
<sect2 id='The_RepeatKeys_Control'>
<title>The RepeatKeys Control</title>
<para>
@ -865,7 +865,7 @@ False</emphasis>
</sect2>
<sect2 id='the_detectableautorepeat_control'>
<sect2 id='The_DetectableAutorepeat_Control'>
<title>The DetectableAutorepeat Control</title>
<para>
@ -1110,7 +1110,7 @@ False</emphasis>
</sect2>
</sect1>
<sect1 id='controls_for_keyboard_overlays_overlay1_and_overlay2_controls'>
<sect1 id='Controls_for_Keyboard_Overlays_Overlay1_and_Overlay2_Controls'>
<title>Controls for Keyboard Overlays (Overlay1 and Overlay2 Controls)</title>
<para>
@ -1159,7 +1159,7 @@ XkbKB_Overlay2</emphasis>
</sect1>
<sect1 id='controls_for_using_the_mouse_from_the_keyboard'>
<sect1 id='Controls_for_Using_the_Mouse_from_the_Keyboard'>
<title>Controls for Using the Mouse from the Keyboard</title>
<para>
@ -1183,7 +1183,7 @@ discussed in Chapter 16. <!-- xref -->
</para>
<sect2 id='the_mousekeys_control'>
<sect2 id='The_MouseKeys_Control'>
<title>The MouseKeys Control</title>
<para>
@ -1226,7 +1226,7 @@ Shift+Alt+NumLock</emphasis>
, but this may vary depending on the keymap.</para></note>
</sect2>
<sect2 id='the_mousekeysaccel_control'>
<sect2 id='The_MouseKeysAccel_Control'>
<title>The MouseKeysAccel Control</title>
<para>
@ -1302,7 +1302,7 @@ XkbSA_MovePtr</emphasis>
action (see section 16.1) specifies relative or absolute pointer motion. <!-- xref -->
</para>
<sect3 id='absolute_pointer_motion'>
<sect3 id='Absolute_Pointer_Motion'>
<title>Absolute Pointer Motion</title>
<para>
@ -1319,7 +1319,7 @@ stays at the same X position.
</sect3>
<sect3 id='relative_pointer_motion'>
<sect3 id='Relative_Pointer_Motion'>
<title>Relative Pointer Motion</title>
<para>
@ -1474,7 +1474,7 @@ MouseKeys Acceleration</H5>
</sect3>
</sect2>
</sect1>
<sect1 id='controls_for_better_keyboard_access_by_physically_impaired_persons'>
<sect1 id='Controls_for_Better_Keyboard_Access_by_Physically_ImpairedPersons'>
<title>Controls for Better Keyboard Access by Physically Impaired
Persons</title>
@ -1493,7 +1493,7 @@ Wisconsin-Madison WI 53705-2280. Phone: 608-262-6966. e-mail: info@trace.wisc.ed
</para></footnote>.
</para>
<sect2 id='the_accessxkeys_control'>
<sect2 id='The_AccessXKeys_Control'>
<title>The AccessXKeys Control</title>
<para>
@ -1561,7 +1561,7 @@ in state, as described in section 10.6.3, or <!-- xref -->
</para>
</sect2>
<sect2 id='the_accessxtimeout_control'>
<sect2 id='The_AccessXTimeout_Control'>
<title>The AccessXTimeout Control</title>
<para>
@ -1849,7 +1849,7 @@ False</emphasis>
</sect2>
<sect2 id='the_accessxfeedback_control'>
<sect2 id='The_AccessXFeedback_Control'>
<title>The AccessXFeedback Control</title>
<para>
@ -1989,7 +1989,7 @@ XkbBellNotify</emphasis>
</sect2>
<sect2 id='accessxnotify_events'>
<sect2 id='AccessXNotify_Events'>
<title>AccessXNotify Events</title>
<para>
@ -2089,7 +2089,7 @@ BounceKeys</emphasis>
debounce delay.
</para>
<sect3 id='selecting_for_accessx_events'>
<sect3 id='Selecting_for_AccessX_Events'>
<title>Selecting for AccessX Events</title>
<para>
@ -2183,7 +2183,7 @@ values_for_bits</emphasis>
</sect3>
</sect2>
<sect2 id='stickykeys_repeatkeys_and_mousekeys_events'>
<sect2 id='StickyKeys_RepeatKeys_and_MouseKeys_Events'>
<title>StickyKeys, RepeatKeys, and MouseKeys Events</title>
<para>
@ -2211,7 +2211,7 @@ MouseKeys</emphasis>
</sect2>
<sect2 id='the_slowkeys_control'>
<sect2 id='The_SlowKeys_Control'>
<title>The SlowKeys Control</title>
<para>
@ -2399,7 +2399,7 @@ False</emphasis>
</sect2>
<sect2 id='the_bouncekeys_control'>
<sect2 id='The_BounceKeys_Control'>
<title>The BounceKeys Control</title>
<para>
@ -2581,7 +2581,7 @@ False</emphasis>
</para>
</sect2>
<sect2 id='the_stickykeys_control'>
<sect2 id='The_StickyKeys_Control'>
<title>The StickyKeys Control</title>
<para>
@ -2698,7 +2698,7 @@ configured: one to automatically disable it, and one to control the latching
behavior of modifier keys.
</para>
<sect3 id='stickykeys_options'>
<sect3 id='StickyKeys_Options'>
<title>StickyKeys Options</title>
<para>
@ -2904,7 +2904,7 @@ False</emphasis>
</sect3>
</sect2>
</sect1>
<sect1 id='controls_for_general_keyboard_mapping'>
<sect1 id='Controls_for_General_Keyboard_Mapping'>
<title>Controls for General Keyboard Mapping</title>
<para>
@ -2944,7 +2944,7 @@ IgnoreGroupLock</emphasis>
specifying a grab for every possible modifier combination.
</para>
<sect2 id='the_groupswrap_control'>
<sect2 id='The_GroupsWrap_Control'>
<title>The GroupsWrap Control</title>
<para>
@ -3019,7 +3019,7 @@ group_info</emphasis>
, which also normalizes a group under certain circumstances.</para></note>
</sect2>
<sect2 id='the_ignorelockmods_control'>
<sect2 id='The_IgnoreLockMods_Control'>
<title>The IgnoreLockMods Control</title>
<para>
@ -3202,7 +3202,7 @@ False</emphasis>
</para>
</sect2>
<sect2 id='the_ignoregrouplock_control'>
<sect2 id='The_IgnoreGroupLock_Control'>
<title>The IgnoreGroupLock Control</title>
<para>
@ -3222,7 +3222,7 @@ functions (see section 10.1) to change its state. <!-- xref -->
</sect2>
<sect2 id='the_internalmods_control'>
<sect2 id='The_InternalMods_Control'>
<title>The InternalMods Control</title>
<para>
@ -3397,7 +3397,7 @@ False</emphasis>
</sect2>
</sect1>
<sect1 id='the_xkbcontrolsrec_structure'>
<sect1 id='The_XkbControlsRec_Structure'>
<title>The XkbControlsRec Structure</title>
<para>
@ -4303,7 +4303,7 @@ indicates that the key is a repeating key.
</sect3>
</sect2>
</sect1>
<sect1 id='querying_controls'>
<sect1 id='Querying_Controls'>
<title>Querying Controls</title>
<para>
@ -4443,7 +4443,7 @@ which</emphasis>
</sect1>
<sect1 id='changing_controls'>
<sect1 id='Changing_Controls'>
<title>Changing Controls</title>
<para>
@ -4585,7 +4585,7 @@ XkbChangeEnabledControls</emphasis>
</para>
<sect2 id='the_xkbcontrolschangesrec_structure'>
<sect2 id='The_XkbControlsChangesRec_Structure'>
<title>The XkbControlsChangesRec Structure</title>
<para>
@ -4707,7 +4707,7 @@ dpy</emphasis>
</sect2>
</sect1>
<sect1 id='tracking_changes_to_keyboard_controls'>
<sect1 id='Tracking_Changes_to_Keyboard_Controls'>
<title>Tracking Changes to Keyboard Controls</title>
<para>
@ -5019,7 +5019,7 @@ BadMatch</emphasis>
</sect1>
<sect1 id='allocating_and_freeing_an_xkbcontrolsrec'>
<sect1 id='Allocating_and_Freeing_an_XkbControlsRec'>
<title>Allocating and Freeing an XkbControlsRec</title>
<para>
@ -5208,7 +5208,7 @@ NULL.</emphasis>
</para>
</sect1>
<sect1 id='the_miscellaneous_per_client_controls'>
<sect1 id='The_Miscellaneous_Per_client_Controls'>
<title>The Miscellaneous Per-client Controls</title>
<para>

View file

@ -1,4 +1,4 @@
<chapter id='x_library_controls'>
<chapter id='X_Library_Controls'>
<title>X Library Controls</title>
<para>
@ -53,7 +53,7 @@ normally; however, the feedback that would normally occur with the controls
enabled may be missing.
</para>
<sect1 id='controls_affecting_keycode_to_string_translation'>
<sect1 id='Controls_Affecting_Keycode_to_String_Translation'>
<title>Controls Affecting Keycode-to-String Translation</title>
<para>
@ -71,7 +71,7 @@ affecting simple string lookups are:
<emphasis>LevelOneUsesShiftAndLock</emphasis>
</programlisting></para>
<sect2 id='forcelatin1lookup'>
<sect2 id='ForceLatin1Lookup'>
<title>ForceLatin1Lookup</title>
<para>
@ -89,7 +89,7 @@ is disabled, allowing characters outside of the Latin1 set to be returned.
</sect2>
<sect2 id='consumelookupmods'>
<sect2 id='ConsumeLookupMods'>
<title>ConsumeLookupMods</title>
<para>
@ -166,7 +166,7 @@ refer to Chapter 12.
</sect2>
<sect2 id='alwaysconsumeshiftandlock'>
<sect2 id='AlwaysConsumeShiftAndLock'>
<title>AlwaysConsumeShiftAndLock</title>
<para>
@ -187,7 +187,7 @@ AlwaysConsumeShiftAndLock</emphasis>
</sect2>
</sect1>
<sect1 id='controls_affecting_compose_processing'>
<sect1 id='Controls_Affecting_Compose_Processing'>
<title>Controls Affecting Compose Processing</title>
<para>
@ -216,7 +216,7 @@ the compose processing controls is optional in an Xkb implementation.
</para>
<sect2 id='consumekeysoncomposefail'>
<sect2 id='ConsumeKeysOnComposeFail'>
<title>ConsumeKeysOnComposeFail</title>
<para>
@ -255,7 +255,7 @@ ConsumeKeysOnComposeFail</emphasis>
</sect2>
<sect2 id='composeled'>
<sect2 id='ComposeLED'>
<title>ComposeLED</title>
<para>
@ -288,7 +288,7 @@ this purpose.
</sect2>
<sect2 id='beeponcomposefail'>
<sect2 id='BeepOnComposeFail'>
<title>BeepOnComposeFail</title>
<para>
@ -325,10 +325,10 @@ ComposeFail</emphasis>
</sect2>
</sect1>
<sect1 id='controls_effecting_event_delivery'>
<sect1 id='Controls_Effecting_Event_Delivery'>
<title>Controls Effecting Event Delivery</title>
<sect2 id='ignorenewkeyboards'>
<sect2 id='IgnoreNewKeyboards'>
<title>IgnoreNewKeyboards</title>
<para>
@ -361,7 +361,7 @@ MappingNotify</emphasis>
</sect2>
</sect1>
<sect1 id='manipulating_the_library_controls'>
<sect1 id='Manipulating_the_Library_Controls'>
<title>Manipulating the Library Controls</title>
<para>
@ -418,7 +418,7 @@ defined in Table 11.1. <!-- xref -->
</tgroup>
</table>
<sect2 id='determining_which_library_controls_are_implemented'>
<sect2 id='Determining_Which_Library_Controls_are_Implemented'>
<title>Determining Which Library Controls are Implemented</title>
<para>
@ -459,7 +459,7 @@ library and is composed of an inclusive OR of bits from Table 11.1.
</sect2>
<sect2 id='determining_the_state_of_the_library_controls'>
<sect2 id='Determining_the_State_of_the_Library_Controls'>
<title>Determining the State of the Library Controls</title>
<para>
@ -502,7 +502,7 @@ is enabled does not imply that it is actually implemented.
</para>
</sect2>
<sect2 id='changing_the_state_of_the_library_controls'>
<sect2 id='Changing_the_State_of_the_Library_Controls'>
<title>Changing the State of the Library Controls</title>
<para>

View file

@ -1,4 +1,4 @@
<chapter id='interpreting_key_events'>
<chapter id='Interpreting_Key_Events'>
<title>Interpreting Key Events</title>
<para>
@ -7,7 +7,7 @@ to directly interpret Xkb data structures. Xkb also modifies the behavior of
several core X library functions.
</para>
<sect1 id='effects_of_xkb_on_the_core_x_library'>
<sect1 id='Effects_of_Xkb_on_the_Core_X_Library'>
<title>Effects of Xkb on the Core X Library</title>
<para>
@ -24,7 +24,7 @@ includes ways to control or disable it.
</para>
<sect2 id='effects_of_xkb_on_event_state'>
<sect2 id='Effects_of_Xkb_on_Event_State'>
<title>Effects of Xkb on Event State</title>
<para>
@ -38,7 +38,7 @@ by the core protocol.
</sect2>
<sect2 id='effects_of_xkb_on_mappingnotify_events'>
<sect2 id='Effects_of_Xkb_on_MappingNotify_Events'>
<title>Effects of Xkb on MappingNotify Events</title>
<para>
@ -112,7 +112,7 @@ requesting notification of changes to the legal range of keycodes.
</sect2>
<sect2 id='x_library_functions_affected_by_xkb'>
<sect2 id='X_Library_Functions_Affected_by_Xkb'>
<title>X Library Functions Affected by Xkb</title>
<para>
@ -228,7 +228,7 @@ the keysym are consumed and are not used to look up the string.
</sect2>
</sect1>
<sect1 id='xkb_event_and_keymap_functions'>
<sect1 id='Xkb_Event_and_Keymap_Functions'>
<title>Xkb Event and Keymap Functions</title>
<para>

View file

@ -1,4 +1,4 @@
<chapter id='keyboard_geometry'>
<chapter id='Keyboard_Geometry'>
<title>Keyboard Geometry</title>
<para>
@ -244,7 +244,7 @@ section.
Keyboard with Four Sections</H5>
-->
<sect1 id='shapes_and_outlines'>
<sect1 id='Shapes_and_Outlines'>
<title>Shapes and Outlines</title>
<para>
@ -348,7 +348,7 @@ degraded image of the keyboard.
</para>
</sect1>
<sect1 id='sections'>
<sect1 id='Sections'>
<title>Sections</title>
<para>
@ -436,7 +436,7 @@ containing the entire section.
</listitem>
</itemizedlist>
</sect1>
<sect1 id='rows_and_keys'>
<sect1 id='Rows_and_Keys'>
<title>Rows and Keys</title>
<para>
@ -464,7 +464,7 @@ between a key and its predecessor.
</sect1>
<sect1 id='doodads'>
<sect1 id='Doodads'>
<title>Doodads</title>
<para>
@ -629,7 +629,7 @@ XkbLogoDoodad</emphasis>
</table>
</sect1>
<sect1 id='overlay_rows_and_overlay_keys'>
<sect1 id='Overlay_Rows_and_Overlay_Keys'>
<title>Overlay Rows and Overlay Keys</title>
<para>
@ -660,7 +660,7 @@ while the key specified in over must not be.
</sect1>
<sect1 id='drawing_a_keyboard_representation'>
<sect1 id='Drawing_a_Keyboard_Representation'>
<title>Drawing a Keyboard Representation</title>
<para>
@ -678,7 +678,7 @@ To draw a representation of the keyboard, draw in the following order:
</programlisting></para>
</sect1>
<sect1 id='geometry_data_structures'>
<sect1 id='Geometry_Data_Structures'>
<title>Geometry Data Structures</title>
<para>
@ -956,7 +956,7 @@ angle</emphasis>
degrees.
</para>
<sect2 id='doodadrec_structures'>
<sect2 id='DoodadRec_Structures'>
<title>DoodadRec Structures</title>
<para>
@ -1071,7 +1071,7 @@ typedef struct _XkbLogoDoodad {
</sect2>
</sect1>
<sect1 id='getting_keyboard_geometry_from_the_server'>
<sect1 id='Getting_Keyboard_Geometry_From_the_Server'>
<title>Getting Keyboard Geometry From the Server</title>
<para>
@ -1202,7 +1202,7 @@ name</emphasis>
</para>
</sect1>
<sect1 id='using_keyboard_geometry'>
<sect1 id='Using_Keyboard_Geometry'>
<title>Using Keyboard Geometry</title>
<para>
@ -1544,7 +1544,7 @@ under</emphasis>
</sect1>
<sect1 id='adding_elements_to_a_keyboard_geometry'>
<sect1 id='Adding_Elements_to_a_Keyboard_Geometry'>
<title>Adding Elements to a Keyboard Geometry</title>
<para>
@ -2402,7 +2402,7 @@ NULL</emphasis>
</sect1>
<sect1 id='allocating_and_freeing_geometry_components'>
<sect1 id='Allocating_and_Freeing_Geometry_Components'>
<title>Allocating and Freeing Geometry Components</title>
<para>

View file

@ -1,4 +1,4 @@
<chapter id='xkb_keyboard_mapping'>
<chapter id='Xkb_Keyboard_Mapping'>
<title>Xkb Keyboard Mapping</title>
<para>
@ -30,7 +30,7 @@ Chapter 15, "Xkb Client Keyboard Mapping" and Chapter 16, "Xkb Server Keyboard
Mapping."
</para>
<sect1 id='notation_and_terminology'>
<sect1 id='Notation_and_Terminology'>
<title>Notation and Terminology</title>
<para>
@ -118,7 +118,7 @@ A</emphasis>
.
</para>
<sect2 id='core_implementation'>
<sect2 id='Core_Implementation'>
<title>Core Implementation</title>
<para>
@ -161,7 +161,7 @@ Num_Lock</emphasis>
</sect2>
<sect2 id='xkb_implementation'>
<sect2 id='Xkb_Implementation'>
<title>Xkb Implementation</title>
<para>
@ -209,7 +209,7 @@ detail in section 16.2. <!-- xref -->
</sect2>
</sect1>
<sect1 id='getting_map_components_from_the_server'>
<sect1 id='Getting_Map_Components_from_the_Server'>
<title>Getting Map Components from the Server</title>
<para>
@ -571,7 +571,7 @@ the reply from the server was invalid).
</para>
</sect1>
<sect1 id='changing_map_components_in_the_server'>
<sect1 id='Changing_Map_Components_in_the_Server'>
<title>Changing Map Components in the Server</title>
<para>
@ -679,7 +679,7 @@ helper functions and provides a pointer to where they are defined.
</para>
<sect2 id='the_xkbmapchangesrec_structure'>
<sect2 id='The_XkbMapChangesRec_Structure'>
<title>The XkbMapChangesRec Structure</title>
<para>
@ -944,7 +944,7 @@ BadValue</emphasis>
</sect2>
</sect1>
<sect1 id='tracking_changes_to_map_components'>
<sect1 id='Tracking_Changes_to_Map_Components'>
<title>Tracking Changes to Map Components</title>
<para>
@ -1042,7 +1042,7 @@ resized</emphasis>
</sect1>
<sect1 id='allocating_and_freeing_client_and_server_maps'>
<sect1 id='Allocating_and_Freeing_Client_and_Server_Maps'>
<title>Allocating and Freeing Client and Server Maps</title>
<para>
@ -1082,7 +1082,7 @@ Xfree</emphasis>
</para>
<sect2 id='allocating_an_empty_client_map'>
<sect2 id='Allocating_an_Empty_Client_Map'>
<title>Allocating an Empty Client Map</title>
<para>
@ -1271,7 +1271,7 @@ BadValue</emphasis>
</sect2>
<sect2 id='freeing_a_client_map'>
<sect2 id='Freeing_a_Client_Map'>
<title>Freeing a Client Map</title>
<para>
@ -1363,7 +1363,7 @@ NULL.</emphasis>
</sect2>
<sect2 id='allocating_an_empty_server_map'>
<sect2 id='Allocating_an_Empty_Server_Map'>
<title>Allocating an Empty Server Map</title>
<para>
@ -1548,7 +1548,7 @@ BadAlloc</emphasis>
</sect2>
<sect2 id='freeing_a_server_map'>
<sect2 id='Freeing_a_Server_Map'>
<title>Freeing a Server Map</title>
<para>

View file

@ -1,4 +1,4 @@
<chapter id='xkb_client_keyboard_mapping'>
<chapter id='Xkb_Client_Keyboard_Mapping'>
<title>Xkb Client Keyboard Mapping</title>
<para>
@ -25,7 +25,7 @@ Figure 15.1 shows the relationships between elements in the client map:
Xkb Client Map</H5>
-->
<sect1 id='the_xkbclientmaprec_structure'>
<sect1 id='The_XkbClientMapRec_Structure'>
<title>The XkbClientMapRec Structure</title>
<para>
@ -58,7 +58,7 @@ XkbClientMapRec</emphasis>
</sect1>
<sect1 id='key_types'>
<sect1 id='Key_Types'>
<title>Key Types</title>
<para>
@ -398,7 +398,7 @@ level-one symbols.
</para>
<sect2 id='the_canonical_key_types'>
<sect2 id='The_Canonical_Key_Types'>
<title>The Canonical Key Types</title>
<para>
@ -423,7 +423,7 @@ types</emphasis>
<emphasis>XkbKeypadIndex</emphasis>
</programlisting></para>
<sect3 id='one_level'>
<sect3 id='ONE_LEVEL'>
<title>ONE_LEVEL</title>
<para>
@ -451,7 +451,7 @@ XkbOneLevelIndex</emphasis>
</sect3>
<sect3 id='two_level'>
<sect3 id='TWO_LEVEL'>
<title>TWO_LEVEL</title>
<para>
@ -484,7 +484,7 @@ XkbTwoLevelIndex</emphasis>
</sect3>
<sect3 id='alphabetic'>
<sect3 id='ALPHABETIC'>
<title>ALPHABETIC</title>
<para>
@ -561,7 +561,7 @@ XkbAlphabeticIndex</emphasis>
</sect3>
<sect3 id='keypad'>
<sect3 id='KEYPAD'>
<title>KEYPAD</title>
<para>
@ -635,7 +635,7 @@ XkbKeypadIndex</emphasis>
</sect3>
<sect3 id='initializing_the_canonical_key_types_in_a_new_client_map'>
<sect3 id='Initializing_the_Canonical_Key_Types_in_a_New_Client_Map'>
<title>Initializing the Canonical Key Types in a New Client Map</title>
<para>
@ -740,7 +740,7 @@ xkb</emphasis>
</sect3>
</sect2>
<sect2 id='getting_key_types_from_the_server'>
<sect2 id='Getting_Key_Types_from_the_Server'>
<title>Getting Key Types from the Server</title>
<para>
@ -834,7 +834,7 @@ num</emphasis>
</sect2>
<sect2 id='changing_the_number_of_levels_in_a_key_type'>
<sect2 id='Changing_the_Number_of_Levels_in_a_Key_Type'>
<title>Changing the Number of Levels in a Key Type</title>
<para>
@ -1004,7 +1004,7 @@ Success</emphasis>
</sect2>
<sect2 id='copying_key_types'>
<sect2 id='Copying_Key_Types'>
<title>Copying Key Types</title>
<para>
@ -1182,7 +1182,7 @@ Success</emphasis>
</sect2>
</sect1>
<sect1 id='key_symbol_map'>
<sect1 id='Key_Symbol_Map'>
<title>Key Symbol Map</title>
<para>
@ -1264,7 +1264,7 @@ These fields are described in detail in the following sections.
</para>
<sect2 id='per_key_key_type_indices'>
<sect2 id='Per_Key_Key_Type_Indices'>
<title>Per-Key Key Type Indices</title>
<para>
@ -1392,7 +1392,7 @@ group</emphasis>
</sect2>
<sect2 id='per_key_group_information'>
<sect2 id='Per_Key_Group_Information'>
<title>Per-Key Group Information</title>
<para>
@ -1646,7 +1646,7 @@ XkbSymMapRec</emphasis>
</sect2>
<sect2 id='key_width'>
<sect2 id='Key_Width'>
<title>Key Width</title>
<para>
@ -1664,7 +1664,7 @@ symbols or set of types bound to a key are changed.
</sect2>
<sect2 id='offset_in_to_the_symbol_map'>
<sect2 id='Offset_in_to_the_Symbol_Map'>
<title>Offset in to the Symbol Map</title>
<para>
@ -1974,7 +1974,7 @@ keycode</emphasis>
</sect2>
<sect2 id='getting_the_symbol_map_for_keys_from_the_server'>
<sect2 id='Getting_the_Symbol_Map_for_Keys_from_the_Server'>
<title>Getting the Symbol Map for Keys from the Server</title>
<para>
@ -2090,7 +2090,7 @@ BadAlloc</emphasis>
</sect2>
<sect2 id='changing_the_number_of_groups_and_types_bound_to_a_key'>
<sect2 id='Changing_the_Number_of_Groups_and_Types_Bound_to_a_Key'>
<title>Changing the Number of Groups and Types Bound to a Key</title>
<para>
@ -2332,7 +2332,7 @@ BadAlloc</emphasis>
</sect2>
<sect2 id='changing_the_number_of_symbols_bound_to_a_key'>
<sect2 id='Changing_the_Number_of_Symbols_Bound_to_a_Key'>
<title>Changing the Number of Symbols Bound to a Key</title>
<para>
@ -2458,7 +2458,7 @@ a key.</para></note>
</sect2>
</sect1>
<sect1 id='the_per_key_modifier_map'>
<sect1 id='The_Per_Key_Modifier_Map'>
<title>The Per-Key Modifier Map</title>
<para>
@ -2496,7 +2496,7 @@ Chapter 16).
</para>
<sect2 id='getting_the_per_key_modifier_map_from_the_server'>
<sect2 id='Getting_the_Per_Key_Modifier_Map_from_the_Server'>
<title>Getting the Per-Key Modifier Map from the Server</title>
<para>

View file

@ -1,4 +1,4 @@
<chapter id='xkb_server_keyboard_mapping'>
<chapter id='Xkb_Server_Keyboard_Mapping'>
<title>Xkb Server Keyboard Mapping</title>
<para>
@ -72,7 +72,7 @@ vmodmap</emphasis>
and are defined in section 16.4.
</para>
<sect1 id='key_actions'>
<sect1 id='Key_Actions'>
<title>Key Actions</title>
<para>
@ -410,7 +410,7 @@ keycode</emphasis>
</para>
<sect2 id='the_xkbaction_structure'>
<sect2 id='The_XkbAction_Structure'>
<title>The XkbAction Structure</title>
<para>
@ -448,7 +448,7 @@ structures for each action in detail.
</sect2>
<sect2 id='the_xkbanyaction_structure'>
<sect2 id='The_XkbAnyAction_Structure'>
<title>The XkbAnyAction Structure</title>
<para>
@ -598,7 +598,7 @@ have an associated data structure.
</table>
</sect2>
<sect2 id='actions_for_changing_modifiers_state'>
<sect2 id='Actions_for_Changing_Modifiers_State'>
<title>Actions for Changing Modifiers State</title>
<para>
@ -973,7 +973,7 @@ XkbISOAction</emphasis>
</sect2>
<sect2 id='actions_for_changing_group_state'>
<sect2 id='Actions_for_Changing_Group_State'>
<title>Actions for Changing Group State</title>
<para>
@ -1272,7 +1272,7 @@ XkbISOAction</emphasis>
</sect2>
<sect2 id='actions_for_moving_the_pointer'>
<sect2 id='Actions_for_Moving_the_Pointer'>
<title>Actions for Moving the Pointer</title>
<para>
@ -1563,7 +1563,7 @@ y</emphasis>
</sect2>
<sect2 id='actions_for_simulating_pointer_button_press_and_release'>
<sect2 id='Actions_for_Simulating_Pointer_Button_Press_and_Release'>
<title>Actions for Simulating Pointer Button Press and Release</title>
<para>
@ -1782,7 +1782,7 @@ XkbSA_LockPtrBtn</emphasis>
</table>
</sect2>
<sect2 id='actions_for_changing_the_pointer_button_simulated'>
<sect2 id='Actions_for_Changing_the_Pointer_Button_Simulated'>
<title>Actions for Changing the Pointer Button Simulated</title>
<para>
@ -1982,7 +1982,7 @@ val</emphasis>
</sect2>
<sect2 id='actions_for_locking_modifiers_and_group'>
<sect2 id='Actions_for_Locking_Modifiers_and_Group'>
<title>Actions for Locking Modifiers and Group</title>
<para>
@ -2424,7 +2424,7 @@ SA_LockControls</emphasis>
</table>
</sect2>
<sect2 id='actions_for_changing_the_active_screen'>
<sect2 id='Actions_for_Changing_the_Active_Screen'>
<title>Actions for Changing the Active Screen</title>
<para>
@ -2596,7 +2596,7 @@ s</emphasis>
</sect2>
<sect2 id='actions_for_changing_boolean_controls_state'>
<sect2 id='Actions_for_Changing_Boolean_Controls_State'>
<title>Actions for Changing Boolean Controls State</title>
<para>
@ -2858,7 +2858,7 @@ ctrls</emphasis>
</sect2>
<sect2 id='actions_for_generating_messages'>
<sect2 id='Actions_for_Generating_Messages'>
<title>Actions for Generating Messages</title>
<para>
@ -2954,7 +2954,7 @@ XkbActionMessageLength</emphasis>
unsigned characters and may be set to anything the keymap designer wishes.
</para>
<sect3 id='detecting_key_action_messages'>
<sect3 id='Detecting_Key_Action_Messages'>
<title>Detecting Key Action Messages</title>
<para>
@ -3090,7 +3090,7 @@ XkbActionMessageLength</emphasis>
</sect3>
</sect2>
<sect2 id='actions_for_generating_a_different_keycode'>
<sect2 id='Actions_for_Generating_a_Different_Keycode'>
<title>Actions for Generating a Different Keycode</title>
<para>
@ -3351,7 +3351,7 @@ v</emphasis>
</literallayout>
</sect2>
<sect2 id='actions_for_generating_devicebuttonpress_and_devicebuttonrelease'>
<sect2 id='Actions_for_Generating_DeviceButtonPress_and_DeviceButtonRelease'>
<title>Actions for Generating DeviceButtonPress and DeviceButtonRelease</title>
<para>
@ -3531,7 +3531,7 @@ XkbSA_LockDeviceBtn</emphasis>
</table>
</sect2>
<sect2 id='actions_for_simulating_events_from_device_valuators'>
<sect2 id='Actions_for_Simulating_Events_from_Device_Valuators'>
<title>Actions for Simulating Events from Device Valuators</title>
<para>
@ -3683,7 +3683,7 @@ For a dial box with eight dials, any value in the range 0..7 would be correct.
</sect2>
<sect2 id='obtaining_key_actions_for_keys_from_the_server'>
<sect2 id='Obtaining_Key_Actions_for_Keys_from_the_Server'>
<title>Obtaining Key Actions for Keys from the Server</title>
<para>
@ -3802,7 +3802,7 @@ BadAlloc</emphasis>
</sect2>
<sect2 id='changing_the_number_of_actions_bound_to_a_key'>
<sect2 id='Changing_the_Number_of_Actions_Bound_to_a_Key'>
<title>Changing the Number of Actions Bound to a Key</title>
<para>
@ -3932,7 +3932,7 @@ a key.</para></note>
</sect2>
</sect1>
<sect1 id='key_behavior'>
<sect1 id='Key_Behavior'>
<title>Key Behavior</title>
<para>
@ -3944,7 +3944,7 @@ pressed again.
</para>
<sect2 id='radio_groups2'>
<sect2 id='Radio_Groups_2'>
<title>Radio Groups</title>
<para>
@ -3989,7 +3989,7 @@ currently defined is:
</programlisting></para>
</sect2>
<sect2 id='the_xkbbehavior_structure'>
<sect2 id='The_XkbBehavior_Structure'>
<title>The XkbBehavior Structure</title>
<para>
@ -4123,7 +4123,7 @@ keyboard to implement the behavior.
</sect2>
<sect2 id='obtaining_key_behaviors_for_keys_from_the_server'>
<sect2 id='Obtaining_Key_Behaviors_for_Keys_from_the_Server'>
<title>Obtaining Key Behaviors for Keys from the Server</title>
<para>
@ -4242,7 +4242,7 @@ BadAlloc</emphasis>
</sect2>
</sect1>
<sect1 id='explicit_components_avoiding_automatic_remapping_by_the_server'>
<sect1 id='Explicit_ComponentsAvoiding_Automatic_Remapping_by_the_Server'>
<title>Explicit Components—Avoiding Automatic Remapping by the Server</title>
<para>
@ -4354,7 +4354,7 @@ match the key.
</tgroup>
</table>
<sect2 id='obtaining_explicit_components_for_keys_from_the_server'>
<sect2 id='Obtaining_Explicit_Components_for_Keys_from_the_Server'>
<title>Obtaining Explicit Components for Keys from the Server</title>
<para>
@ -4473,7 +4473,7 @@ BadAlloc</emphasis>
</sect2>
</sect1>
<sect1 id='virtual_modifier_mapping'>
<sect1 id='Virtual_Modifier_Mapping'>
<title>Virtual Modifier Mapping</title>
<para>
@ -4565,7 +4565,7 @@ keyboard description are shown in Figure 16.2.
Virtual Modifier Relationships</H5>
-->
<sect2 id='obtaining_virtual_modifier_bindings_from_the_server'>
<sect2 id='Obtaining_Virtual_Modifier_Bindings_from_the_Server'>
<title>Obtaining Virtual Modifier Bindings from the Server</title>
<para>
@ -4670,7 +4670,7 @@ BadAlloc</emphasis>.
</sect2>
<sect2 id='obtaining_per_key_virtual_modifier_mappings_from_the_server'>
<sect2 id='Obtaining_Per_Key_Virtual_Modifier_Mappings_from_the_Server'>
<title>Obtaining Per-Key Virtual Modifier Mappings from the Server</title>
<para>

View file

@ -1,4 +1,4 @@
<chapter id='the_xkb_compatibility_map'>
<chapter id='The_Xkb_Compatibility_Map'>
<title>The Xkb Compatibility Map</title>
<para>
@ -122,7 +122,7 @@ subsequent transformations have a particular result.
</para>
<sect1 id='the_xkbcompatmap_structure'>
<sect1 id='The_XkbCompatMap_Structure'>
<title>The XkbCompatMap Structure</title>
<para>
@ -171,7 +171,7 @@ override controls are used in each of the three cases where compatibility
transformations are made.
</para>
<sect2 id='xkb_state_to_core_protocol_state_transformation'>
<sect2 id='Xkb_State_to_Core_Protocol_State_Transformation'>
<title>Xkb State to Core Protocol State Transformation</title>
<para>
@ -247,7 +247,7 @@ event as zero.
</para>
</sect2>
<sect2 id='core_keyboard_mapping_to_xkb_keyboard_mapping_transformation'>
<sect2 id='Core_Keyboard_Mapping_to_Xkb_Keyboard_Mapping_Transformation'>
<title>Core Keyboard Mapping to Xkb Keyboard Mapping Transformation</title>
<para>
@ -399,7 +399,7 @@ XkbCompatMapRec</emphasis>
(see Figure 17.3).
</para>
<sect3 id='symbol_interpretations_the_xkbsyminterpretrec_structure'>
<sect3 id='Symbol_Interpretations__the_XkbSymInterpretRec_Structure'>
<title>Symbol Interpretations — the XkbSymInterpretRec Structure</title>
<para>
@ -671,7 +671,7 @@ KB_Lock</emphasis>
</sect3>
</sect2>
<sect2 id='xkb_keyboard_mapping_to_core_keyboard_mapping_transformations'>
<sect2 id='Xkb_Keyboard_Mapping_to_Core_Keyboard_Mapping_Transformations'>
<title>Xkb Keyboard Mapping to Core Keyboard Mapping Transformations</title>
<para>
@ -733,7 +733,7 @@ modifier mapping.
</sect2>
</sect1>
<sect1 id='getting_compatibility_map_components_from_the_server'>
<sect1 id='Getting_Compatibility_Map_Components_From_the_Server'>
<title>Getting Compatibility Map Components From the Server</title>
<para>
@ -883,7 +883,7 @@ BadLength</emphasis>
</sect1>
<sect1 id='using_the_compatibility_map'>
<sect1 id='Using_the_Compatibility_Map'>
<title>Using the Compatibility Map</title>
<para>
@ -1241,7 +1241,7 @@ bindings of the key.
</sect1>
<sect1 id='changing_the_servers_compatibility_map'>
<sect1 id='Changing_the_Servers_Compatibility_Map'>
<title>Changing the Servers Compatibility Map</title>
<para>
@ -1456,7 +1456,7 @@ NULL</emphasis>
</sect1>
<sect1 id='tracking_changes_to_the_compatibility_map'>
<sect1 id='Tracking_Changes_to_the_Compatibility_Map'>
<title>Tracking Changes to the Compatibility Map</title>
<para>
@ -1585,7 +1585,7 @@ compat.sym_interpret</emphasis>
</sect1>
<sect1 id='allocating_and_freeing_the_compatibility_map'>
<sect1 id='Allocating_and_Freeing_the_Compatibility_Map'>
<title>Allocating and Freeing the Compatibility Map</title>
<para>

View file

@ -1,4 +1,4 @@
<chapter id='symbolic_names'>
<chapter id='Symbolic_Names'>
<title>Symbolic Names</title>
<para>
@ -26,7 +26,7 @@ names</emphasis>
component of the keyboard description.
</para>
<sect1 id='the_xkbnamesrec_structure'>
<sect1 id='The_XkbNamesRec_Structure'>
<title>The XkbNamesRec Structure</title>
<para>
@ -227,7 +227,7 @@ radio_groups</emphasis>
</sect1>
<sect1 id='symbolic_names_masks'>
<sect1 id='Symbolic_Names_Masks'>
<title>Symbolic Names Masks</title>
<para>
@ -361,7 +361,7 @@ description are shown in Table 18.1.
</table>
</sect1>
<sect1 id='getting_symbolic_names_from_the_server'>
<sect1 id='Getting_Symbolic_Names_From_the_Server'>
<title>Getting Symbolic Names From the Server</title>
<para>
@ -495,7 +495,7 @@ XkbFreeNames</emphasis>
</sect1>
<sect1 id='changing_symbolic_names_on_the_server'>
<sect1 id='Changing_Symbolic_Names_on_the_Server'>
<title>Changing Symbolic Names on the Server</title>
<para>
@ -621,7 +621,7 @@ num_types</emphasis>
<sect2>
<title/>
<sect3 id='the_xkbnamechangesrec_structure'>
<sect3 id='The_XkbNameChangesRec_Structure'>
<title>The XkbNameChangesRec Structure</title>
<para>
@ -814,7 +814,7 @@ changes</emphasis>
</sect3>
</sect2>
</sect1>
<sect1 id='tracking_name_changes'>
<sect1 id='Tracking_Name_Changes'>
<title>Tracking Name Changes</title>
<para>
@ -1044,7 +1044,7 @@ BadMatch</emphasis>
</sect1>
<sect1 id='allocating_and_freeing_symbolic_names'>
<sect1 id='Allocating_and_Freeing_Symbolic_Names'>
<title>Allocating and Freeing Symbolic Names</title>
<para>

View file

@ -1,4 +1,4 @@
<chapter id='replacing_a_keyboard_on_the_fly'>
<chapter id='Replacing_a_Keyboard_On_the_Fly'>
<title>Replacing a Keyboard "On the Fly"</title>
<para>

View file

@ -1,4 +1,4 @@
<chapter id='server_database_of_keyboard_components'>
<chapter id='Server_Database_of_Keyboard_Components'>
<title>Server Database of Keyboard Components</title>
<para>
@ -117,7 +117,7 @@ When a keyboard description is built, the components are processed in the order
in which they appear in Table 20.1; later definitions override earlier ones.
</para>
<sect1 id='component_names'>
<sect1 id='Component_Names'>
<title>Component Names</title>
<para>
@ -151,7 +151,7 @@ use of other characters is implementation-dependent.
</para>
</sect1>
<sect1 id='listing_the_known_keyboard_components'>
<sect1 id='Listing_the_Known_Keyboard_Components'>
<title>Listing the Known Keyboard Components</title>
<para>
@ -389,7 +389,7 @@ XkbComponentListRec</emphasis>
</sect1>
<sect1 id='component_hints'>
<sect1 id='Component_Hints'>
<title>Component Hints</title>
<para>
@ -523,7 +523,7 @@ XkbLC_AlternateGroup</emphasis>
</table>
</sect1>
<sect1 id='building_a_keyboard_description_using_the_server_database'>
<sect1 id='Building_a_Keyboard_Description_Using_the_Server_Database'>
<title>Building a Keyboard Description Using the Server Database</title>
<para>

View file

@ -1,4 +1,4 @@
<chapter id='attaching_xkb_actions_to_x_input_extension_devices'>
<chapter id='Attaching_Xkb_Actions_to_X_Input_Extension_Devices'>
<title>Attaching Xkb Actions to X Input Extension Devices</title>
<para>
@ -154,7 +154,7 @@ KeyClass</emphasis>
silently if Xkb access to those devices is not supported by the X server.
</para>
<sect1 id='xkbdeviceinforec'>
<sect1 id='XkbDeviceInfoRec'>
<title>XkbDeviceInfoRec</title>
<para>
@ -364,7 +364,7 @@ them.
</para>
</sect1>
<sect1 id='querying_xkb_features_for_non_keyclass_input_extension_devices'>
<sect1 id='Querying_Xkb_Features_for_Non_KeyClass_Input_Extension_Devices'>
<title>Querying Xkb Features for Non-KeyClass Input Extension Devices</title>
<para>
@ -923,8 +923,7 @@ Match</emphasis>
</sect1>
<sect1
id='allocating_initializing_and_freeing_the_xkbdeviceinforec_structure'>
<sect1 id='Allocating_Initializing_and_Freeing_the_XkbDeviceInfoRecStructure'>
<title>Allocating, Initializing, and Freeing the XkbDeviceInfoRec
Structure</title>
@ -1319,8 +1318,8 @@ themselves are preserved.
</sect1>
<sect1 id='setting_xkb_features_for_non_keyclass_input_extension_devices_'>
<title>Setting Xkb Features for Non-KeyClass Input Extension Devices </title>
<sect1 id='Setting_Xkb_Features_for_Non_KeyClass_Input_Extension_Devices'>
<title>Setting Xkb Features for Non-KeyClass Input Extension Devices</title>
<para>
The Xkb extension allows clients to assign any key action to either core
@ -1681,7 +1680,7 @@ BadMatch</emphasis>
</sect1>
<sect1 id='xkbextensiondevicenotify_event'>
<sect1 id='XkbExtensionDeviceNotify_Event'>
<title>XkbExtensionDeviceNotify Event</title>
<para>
@ -1783,7 +1782,7 @@ state or configuration.
</sect1>
<sect1 id='tracking_changes_to_extension_devices'>
<sect1 id='Tracking_Changes_to_Extension_Devices'>
<title>Tracking Changes to Extension Devices</title>
<para>

View file

@ -1,4 +1,4 @@
<chapter id='debugging_aids'>
<chapter id='Debugging_Aids'>
<title>Debugging Aids</title>
<para>

View file

@ -71,9 +71,9 @@ in this Software without prior written authorization from X Consortium.
</legalnotice>
</bookinfo>
<chapter id="framework_">
<chapter id='Framework'>
<title>Framework</title>
<sect1 id="preface">
<sect1 id='Preface'>
<title>Preface</title>
<para>
This document proposes to define the structures, methods and their
@ -163,7 +163,7 @@ dependent.
The loader is called in
<function>_XOpenLC, </function>
but caller of
<function>_XOpenLC </function>
<xref linkend='_XOpenLC' xrefstyle='select: title'/>
does not need to care about its inside. For example, if the loader is
implemented with dynamic load functions, and the dynamic module is
expected to be unloaded when the corresponding XLCd is freed,
@ -201,7 +201,7 @@ typedef int XlcPosition;
#define XlcTail
</literallayout>
<funcsynopsis id='_xlcaddloader'>
<funcsynopsis id='_XlcAddLoader'>
<funcprototype>
<funcdef>Bool <function> _XlcAddLoader</function></funcdef>
<paramdef>XLCdLoadProc<parameter> proc</parameter></paramdef>
@ -211,7 +211,7 @@ typedef int XlcPosition;
<para>
The
<function>_XlcAddLoader</function>
<xref linkend='_XlcAddLoader' xrefstyle='select: title'/>
function registers the specified locale loader "<emphasis remap='I'>proc</emphasis>" to the
internal loader list. The position specifies that the loader
"<emphasis remap='I'>proc</emphasis>" should be placed in the top of the loader list(XlcHead)
@ -227,7 +227,7 @@ when calling time.
<function>Remove a loader</function>
</para>
<funcsynopsis id='_xlcremoveloader'>
<funcsynopsis id='_XlcRemoveLoader'>
<funcprototype>
<funcdef>void <function> _XlcRemoveLoader</function></funcdef>
<paramdef>XLCdLoadProc<parameter> proc</parameter></paramdef>
@ -236,7 +236,7 @@ when calling time.
<para>
The
<function>_XlcRemoveLoader</function>
<xref linkend='_XlcRemoveLoader' xrefstyle='select: title'/>
function removes the locale loader specified by "<emphasis remap='I'>proc</emphasis>" from the
loader list.
</para>
@ -280,7 +280,7 @@ independently each other.
<function>Open a Locale Method</function>
</para>
<funcsynopsis id='_xopenlc'>
<funcsynopsis id='_XOpenLC'>
<funcprototype>
<funcdef>XLCd <function> _XOpenLC</function></funcdef>
<paramdef>char<parameter> *name</parameter></paramdef>
@ -289,18 +289,18 @@ independently each other.
<para>
The
<function>_XOpenLC</function>
<xref linkend='_XOpenLC' xrefstyle='select: title'/>
function opens a locale method which corresponds to the
specified locale name.
<function>_XOpenLC</function>
<xref linkend='_XOpenLC' xrefstyle='select: title'/>
calls a locale object loader, which is registered via
<function>_XlcAddLoader into the internal loader list. If the called loader </function>
is valid and successfully opens a locale,
<function>_XOpenLC</function>
<xref linkend='_XOpenLC' xrefstyle='select: title'/>
returns the XLCd. If the loader is invalid or failed to open a locale,
<function>_XOpenLC</function>
<xref linkend='_XOpenLC' xrefstyle='select: title'/>
calls the next loader. If all registered loaders cannot open a locale,
<function>_XOpenLC</function>
<xref linkend='_XOpenLC' xrefstyle='select: title'/>
returns NULL.
</para>
@ -316,7 +316,7 @@ function returns an XLCd that are bound to current locale.
<emphasis role="bold">Close a Locale Method</emphasis>
</para>
<funcsynopsis id='_xcloselc'>
<funcsynopsis id='_XCloseLC'>
<funcprototype>
<funcdef>void <function> _XCloseLC</function></funcdef>
<paramdef>XLCd<parameter> lcd</parameter></paramdef>
@ -326,7 +326,7 @@ function returns an XLCd that are bound to current locale.
<para>
<!-- .LP -->
The
<function>_XCloseLC</function>
<xref linkend='_XCloseLC' xrefstyle='select: title'/>
function close a locale method the specified lcd.
</para>
@ -334,7 +334,7 @@ function close a locale method the specified lcd.
<emphasis role="bold">Obtain Locale Method values</emphasis>
</para>
<funcsynopsis id='_xgetlcvalues'>
<funcsynopsis id='_XGetLCValues'>
<funcprototype>
<funcdef>char *<function>_XGetLCValues</function></funcdef>
<paramdef>XLCd<parameter> lcd</parameter></paramdef>
@ -343,7 +343,7 @@ function close a locale method the specified lcd.
<para>
The
<function>_XGetLCValues</function>
<xref linkend='_XGetLCValues' xrefstyle='select: title'/>
function returns NULL if no error occurred; otherwise, it returns the
name of the first argument that could not be obtained.
The following values are defined as standard arguments. Other values
@ -445,7 +445,7 @@ typedef struct _XlcCharSetRec {
<emphasis role="bold">Get an XlcCharSet</emphasis>
</para>
<funcsynopsis id='_xlcgetcharset'>
<funcsynopsis id='_XlcGetCharSet'>
<funcprototype>
<funcdef>XlcCharSet <function> _XlcGetCharSet</function></funcdef>
<paramdef>char<parameter> *name</parameter></paramdef>
@ -454,10 +454,10 @@ typedef struct _XlcCharSetRec {
<para>
The
<function>_XlcGetCharSet</function>
<xref linkend='_XlcGetCharSet' xrefstyle='select: title'/>
function gets an XlcCharSet which corresponds to the charset name
specified by "<emphasis remap='I'>name</emphasis>".
<function>_XlcGetCharSet </function>
<xref linkend='_XlcGetCharSet' xrefstyle='select: title'/>
returns NULL, if no XlcCharSet bound to specified "<emphasis remap='I'>name</emphasis>".
</para>
@ -600,7 +600,7 @@ The following character sets are pre-registered.
<emphasis role="bold">Add an XlcCharSet</emphasis>
</para>
<funcsynopsis id='_xlcaddcharset'>
<funcsynopsis id='_XlcAddCharSet'>
<funcprototype>
<funcdef>Bool <function> _XlcAddCharSet</function></funcdef>
<paramdef>XlcCharSet<parameter> charset</parameter></paramdef>
@ -609,7 +609,7 @@ The following character sets are pre-registered.
<para>
The
<function>_XlcAddCharSet</function>
<xref linkend='_XlcAddCharSet' xrefstyle='select: title'/>
function registers XlcCharSet specified by "<emphasis remap='I'>charset</emphasis>".
</para>
@ -619,7 +619,7 @@ function registers XlcCharSet specified by "<emphasis remap='I'>charset</emphasi
<function>Obtain Character Set values</function>
</para>
<funcsynopsis id='_xlcgetcsvalues'>
<funcsynopsis id='_XlcGetCSValues'>
<funcprototype>
<funcdef>char * <function> _XlcGetCSValues</function></funcdef>
<paramdef>XlcCharSet<parameter> charset</parameter></paramdef>
@ -629,7 +629,7 @@ function registers XlcCharSet specified by "<emphasis remap='I'>charset</emphasi
<para>
The
<function>_XlcGetCSValues</function>
<xref linkend='_XlcGetCSValues' xrefstyle='select: title'/>
function returns NULL if no error occurred;
otherwise, it returns the name of the first argument that could not
be obtained. The following values are defined as standard arguments.
@ -726,7 +726,7 @@ typedef struct _XlcConvRec {
<function>Open a converter</function>
</para>
<funcsynopsis id='_xlcopenconverter'>
<funcsynopsis id='_XlcOpenConverter'>
<funcprototype>
<funcdef>XlcConv <function> _XlcOpenConverter</function></funcdef>
<paramdef>XLCd<parameter> from_lcd</parameter></paramdef>
@ -737,7 +737,7 @@ typedef struct _XlcConvRec {
</funcsynopsis>
<para>
<function>_XlcOpenConverter </function>
<xref linkend='_XlcOpenConverter' xrefstyle='select: title'/>
function opens the converter which converts a text from specified
"<emphasis remap='I'>from_type</emphasis>" to specified "<emphasis remap='I'>to_type</emphasis>" encoding. If the
function cannot find proper converter or cannot open a corresponding
@ -809,7 +809,7 @@ dependent.
<emphasis role="bold">Close a converter</emphasis>
</para>
<funcsynopsis id='_xlccloseconverter'>
<funcsynopsis id='_XlcCloseConverter'>
<funcprototype>
<funcdef>void <function> _XlcCloseConverter</function></funcdef>
<paramdef>XlcConv<parameter> conv</parameter></paramdef>
@ -818,7 +818,7 @@ dependent.
<para>
The
<function>_XlcCloseConverter</function>
<xref linkend='_XlcCloseConverter' xrefstyle='select: title'/>
function closes the specified converter "<emphasis remap='I'>conv</emphasis>".
</para>
@ -826,7 +826,7 @@ function closes the specified converter "<emphasis remap='I'>conv</emphasis>".
<emphasis role="bold">Code conversion</emphasis>
</para>
<funcsynopsis id='_xlcconvert'>
<funcsynopsis id='_XlcConvert'>
<funcprototype>
<funcdef>int <function> _XlcConvert</function></funcdef>
<paramdef>XlcConv<parameter> conv</parameter></paramdef>
@ -841,7 +841,7 @@ function closes the specified converter "<emphasis remap='I'>conv</emphasis>".
<para>
The
<function>_XlcConvert</function>
<xref linkend='_XlcConvert' xrefstyle='select: title'/>
function converts a sequence of characters from one type, in the array
specified by "<emphasis remap='I'>from</emphasis>", into a sequence of corresponding characters
in another type, in the array specified by "<emphasis remap='I'>to</emphasis>". The types are
@ -900,7 +900,7 @@ More than one segment cannot be converted in a call.
<emphasis role="bold">Reset a converter</emphasis>
</para>
<funcsynopsis id='_xlcresetconverter'>
<funcsynopsis id='_XlcResetConverter'>
<funcprototype>
<funcdef>void <function> _XlcResetConverter</function></funcdef>
<paramdef>XlcConv<parameter> conv</parameter></paramdef>
@ -909,7 +909,7 @@ More than one segment cannot be converted in a call.
<para>
The
<function>_XlcResetConverter </function>
<xref linkend='_XlcResetConverter' xrefstyle='select: title'/>
function reset the specified converter "<emphasis remap='I'>conv</emphasis>".
</para>
@ -925,7 +925,7 @@ typedef XlcConv (*XlcOpenConverterProc)(<emphasis remap='I'>from_lcd</emphasis>,
char <emphasis remap='I'>*to_type</emphasis>;
</literallayout>
<funcsynopsis id='_xlcsetconverter'>
<funcsynopsis id='_XlcSetConverter'>
<funcprototype>
<funcdef>Bool <function> _XlcSetConverter</function></funcdef>
<paramdef>XLCd<parameter> from_lcd</parameter></paramdef>
@ -960,7 +960,7 @@ X Locale Database Definition document.
<emphasis role="bold">Get a resource from database</emphasis>
</para>
<funcsynopsis id='_xlcgetresource'>
<funcsynopsis id='_XlcGetResource'>
<funcprototype>
<funcdef>void <function> _XlcGetResource</function></funcdef>
<paramdef>XLCd<parameter> lcd</parameter></paramdef>
@ -973,7 +973,7 @@ X Locale Database Definition document.
<para>
The
<function>_XlcGetResource</function>
<xref linkend='_XlcGetResource' xrefstyle='select: title'/>
function obtains a locale dependent data which is associated with the
locale of specified "<emphasis remap='I'>lcd</emphasis>".
The locale data is provided by system locale or by X Locale Database
@ -999,7 +999,7 @@ or freed by caller.
<emphasis role="bold">Get a locale relative file name</emphasis>
</para>
<funcsynopsis id='_xlcfilename'>
<funcsynopsis id='_XlcFileName'>
<funcprototype>
<funcdef>char *<function>_XlcFileName</function></funcdef>
<paramdef>XLCd<parameter> lcd</parameter></paramdef>
@ -1009,18 +1009,18 @@ or freed by caller.
<para>
The
<function>_XlcFileName</function>
<xref linkend='_XlcFileName' xrefstyle='select: title'/>
functions returns a file name which is bound to the specified "<emphasis remap='I'>lcd</emphasis>"
and "<emphasis remap='I'>category</emphasis>", as a null-terminated string. If no file name can
be found, or there is no readable file for the found file name,
<function>_XlcFileName</function>
<xref linkend='_XlcFileName' xrefstyle='select: title'/>
returns NULL. The returned file name should be freed by caller.
</para>
<para>
The rule for searching a file name is implementation dependent.
In current implementation,
<function>_XlcFileName </function>
<xref linkend='_XlcFileName' xrefstyle='select: title'/>
uses "{category}.dir" file as mapping table, which has pairs of
strings, a full locale name and a corresponding file name.
</para>
@ -1034,14 +1034,14 @@ strings, a full locale name and a corresponding file name.
<emphasis role="bold">Compare Latin-1 strings</emphasis>
</para>
<funcsynopsis id='_xlccompareisolatin1'>
<funcsynopsis id='_XlcCompareISOLatin1'>
<funcprototype>
<funcdef>int <function> _XlcCompareISOLatin1</function></funcdef>
<paramdef>char*str1,<parameter> *str2</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis id='_xlcncompareisolatin1'>
<funcsynopsis id='_XlcNCompareISOLatin1'>
<funcprototype>
<funcdef>int <function> _XlcNCompareISOLatin1</function></funcdef>
<paramdef>char*str1,<parameter> *str2</parameter></paramdef>
@ -1071,7 +1071,7 @@ except that at most "<emphasis remap='I'>len</emphasis>" bytes are compared.
<emphasis role="bold">Resource Utility</emphasis>
</para>
<funcsynopsis id='xlcnumber'>
<funcsynopsis id='XlcNumber'>
<funcprototype>
<funcdef>int <function> XlcNumber</function></funcdef>
<paramdef>ArrayType<parameter> array</parameter></paramdef>
@ -1082,7 +1082,7 @@ except that at most "<emphasis remap='I'>len</emphasis>" bytes are compared.
Similar to XtNumber.
</para>
<funcsynopsis id='_xlccopyfromarg'>
<funcsynopsis id='_XlcCopyFromArg'>
<funcprototype>
<funcdef>void <function> _XlcCopyFromArg</function></funcdef>
<paramdef>char<parameter> *src</parameter></paramdef>
@ -1091,7 +1091,7 @@ Similar to XtNumber.
</funcprototype>
</funcsynopsis>
<funcsynopsis id='_xlccopytoarg'>
<funcsynopsis id='_XlcCopyToArg'>
<funcprototype>
<funcdef>void <function> _XlcCopyToArg</function></funcdef>
<paramdef>char<parameter> *src</parameter></paramdef>
@ -1107,7 +1107,7 @@ and
<function>_XtCopyToArg.</function>
</para>
<funcsynopsis id='_xlccountvalist'>
<funcsynopsis id='_XlcCountVaList'>
<funcprototype>
<funcdef>void <function> _XlcCountVaList</function></funcdef>
<paramdef>va_list<parameter> var</parameter></paramdef>
@ -1120,7 +1120,7 @@ Similar to
<function>_XtCountVaList.</function>
</para>
<funcsynopsis id='_xlcvatoarglist'>
<funcsynopsis id='_XlcVaToArgList'>
<funcprototype>
<funcdef>void <function> _XlcVaToArgList</function></funcdef>
<paramdef>va_list<parameter> var</parameter></paramdef>
@ -1152,7 +1152,7 @@ typedef struct _XlcResource {
#define XlcIgnoreMask (1L&lt;&lt;4)
</literallayout>
<funcsynopsis id='_xlccompileresourcelist'>
<funcsynopsis id='_XlcCompileResourceList'>
<funcprototype>
<funcdef>void <function> _XlcCompileResourceList</function></funcdef>
<paramdef>XlcResourceList<parameter> resources</parameter></paramdef>
@ -1165,7 +1165,7 @@ Similar to
<function>_XtCompileResourceList.</function>
</para>
<funcsynopsis id='_xlcgetvalues'>
<funcsynopsis id='_XlcGetValues'>
<funcprototype>
<funcdef>char * <function> _XlcGetValues</function></funcdef>
<paramdef>XPointer<parameter> base</parameter></paramdef>
@ -1181,7 +1181,7 @@ Similar to
Similar to XtGetSubvalues.
</para>
<funcsynopsis id='_xlcsetvalues'>
<funcsynopsis id='_XlcSetValues'>
<funcprototype>
<funcdef>char * <function> _XlcSetValues</function></funcdef>
<paramdef>XPointer<parameter> base</parameter></paramdef>
@ -1205,7 +1205,7 @@ Similar to XtSetSubvalues.
The following are ANSI C/MSE Compatible Functions for non-ANSI C environment.
</para>
<funcsynopsis id='_xmblen'>
<funcsynopsis id='_Xmblen'>
<funcprototype>
<funcdef>int <function> _Xmblen</function></funcdef>
<paramdef>char<parameter> *str</parameter></paramdef>
@ -1215,7 +1215,7 @@ The following are ANSI C/MSE Compatible Functions for non-ANSI C environment.
<para>
The
<function>_Xmblen </function>
<xref linkend='_Xmblen' xrefstyle='select: title'/>
function returns the number of characters pointed to by "<emphasis remap='I'>str</emphasis>".
Only "<emphasis remap='I'>len</emphasis>" bytes in "<emphasis remap='I'>str</emphasis>" are used in determining the
character count returned. "<emphasis remap='I'>Str</emphasis>" may point at characters from
@ -1224,12 +1224,12 @@ any valid codeset in the current locale.
<para>
The call
<function>_Xmblen</function>
<xref linkend='_Xmblen' xrefstyle='select: title'/>
is equivalent to
_Xmbtowc(_Xmbtowc((<emphasis remap='I'>wchar_t*</emphasis>)NULL, <emphasis remap='I'>str</emphasis>, <emphasis remap='I'>len</emphasis>))
</para>
<funcsynopsis id='_xmbtowc'>
<funcsynopsis id='_Xmbtowc'>
<funcprototype>
<funcdef>int <function> _Xmbtowc</function></funcdef>
<paramdef>wchar_t<parameter> *wstr</parameter></paramdef>
@ -1240,7 +1240,7 @@ _Xmbtowc(_Xmbtowc((<emphasis remap='I'>wchar_t*</emphasis>)NULL, <emphasis remap
<para>
The
<function>_Xmbtowc</function>
<xref linkend='_Xmbtowc' xrefstyle='select: title'/>
function converts the character(s) pointed to by "<emphasis remap='I'>str</emphasis>"
to their wide character representation(s) pointed to by "<emphasis remap='I'>wstr</emphasis>".
"<emphasis remap='I'>Len</emphasis>" is the number of bytes in "<emphasis remap='I'>str</emphasis>" to be converted.
@ -1249,12 +1249,12 @@ The return value is the number of characters converted.
<para>
The call
<function>_Xmbtowc</function>
<xref linkend='_Xmbtowc' xrefstyle='select: title'/>
is equivalent to
_Xlcmbtowc((XLCd)NULL, <emphasis remap='I'>wstr</emphasis>, <emphasis remap='I'>str</emphasis>, <emphasis remap='I'>len</emphasis>)
</para>
<funcsynopsis id='_xlcmbtowc'>
<funcsynopsis id='_Xlcmbtowc'>
<funcprototype>
<funcdef>int <function> _Xlcmbtowc</function></funcdef>
<paramdef>XLCd<parameter> lcd</parameter></paramdef>
@ -1266,7 +1266,7 @@ _Xlcmbtowc((XLCd)NULL, <emphasis remap='I'>wstr</emphasis>, <emphasis remap='I'>
<para>
The
<function>_Xlcmbtowc</function>
<xref linkend='_Xlcmbtowc' xrefstyle='select: title'/>
function is identical to
<function>_Xmbtowc, </function>
except that it requires the "<emphasis remap='I'>lcd</emphasis>" argument. If "<emphasis remap='I'>lcd</emphasis>"
@ -1277,7 +1277,7 @@ calls
to determine the current locale.
</para>
<funcsynopsis id='_xwctomb'>
<funcsynopsis id='_Xwctomb'>
<funcprototype>
<funcdef>int <function> _Xwctomb</function></funcdef>
<paramdef>char<parameter> *str</parameter></paramdef>
@ -1287,7 +1287,7 @@ to determine the current locale.
<para>
The
<function>_Xwctomb </function>
<xref linkend='_Xwctomb' xrefstyle='select: title'/>
function converts a single wide character pointed to by "<emphasis remap='I'>wc</emphasis>" to
its multibyte representation pointed to by "<emphasis remap='I'>str</emphasis>".
On success, the return value is 1.
@ -1295,12 +1295,12 @@ On success, the return value is 1.
<para>
The call
<function>_Xwctomb</function>
<xref linkend='_Xwctomb' xrefstyle='select: title'/>
is equivalent to
_Xlcwctomb((XLCd)NULL, <emphasis remap='I'>str</emphasis>, <emphasis remap='I'>wstr</emphasis>)
</para>
<funcsynopsis id='_xlcwctomb'>
<funcsynopsis id='_Xlcwctomb'>
<funcprototype>
<funcdef>int <function> _Xlcwctomb</function></funcdef>
<paramdef>XLCd<parameter> lcd</parameter></paramdef>
@ -1311,7 +1311,7 @@ _Xlcwctomb((XLCd)NULL, <emphasis remap='I'>str</emphasis>, <emphasis remap='I'>w
<para>
The
<function>_Xlcwctomb</function>
<xref linkend='_Xlcwctomb' xrefstyle='select: title'/>
function is identical to _Xwctomb, except that it requires the
"<emphasis remap='I'>lcd</emphasis>" argument. If "<emphasis remap='I'>lcd</emphasis>" is (XLCd) NULL,
<function>_Xlcwctomb, </function>
@ -1320,7 +1320,7 @@ calls
to determine the current locale.
</para>
<funcsynopsis id='_xmbstowcs'>
<funcsynopsis id='_Xmbstowcs'>
<funcprototype>
<funcdef>int <function> _Xmbstowcs</function></funcdef>
<paramdef>wchar_t<parameter> *wstr</parameter></paramdef>
@ -1331,7 +1331,7 @@ to determine the current locale.
<para>
The
<function>_Xmbstowcs</function>
<xref linkend='_Xmbstowcs' xrefstyle='select: title'/>
function converts the NULL-terminated string pointed to by "<emphasis remap='I'>str</emphasis>"
to its wide character string representation pointed to by "<emphasis remap='I'>wstr</emphasis>".
"<emphasis remap='I'>Len</emphasis>" is the number of characters in "<emphasis remap='I'>str</emphasis>" to be converted.
@ -1339,12 +1339,12 @@ to its wide character string representation pointed to by "<emphasis remap='I'>w
<para>
The call
<function>_Xmbstowcs</function>
<xref linkend='_Xmbstowcs' xrefstyle='select: title'/>
is equivalent to
_Xlcmbstowcs((XLCd)NULL, <emphasis remap='I'>wstr</emphasis>, <emphasis remap='I'>str</emphasis>, <emphasis remap='I'>len</emphasis>)
</para>
<funcsynopsis id='_xlcmbstowcs'>
<funcsynopsis id='_Xlcmbstowcs'>
<funcprototype>
<funcdef>int <function> _Xlcmbstowcs</function></funcdef>
<paramdef>XLCd<parameter> lcd</parameter></paramdef>
@ -1356,7 +1356,7 @@ _Xlcmbstowcs((XLCd)NULL, <emphasis remap='I'>wstr</emphasis>, <emphasis remap='I
<para>
The
<function>_Xlcmbstowcs </function>
<xref linkend='_Xlcmbstowcs' xrefstyle='select: title'/>
function is identical to _Xmbstowcs, except that it requires the
"<emphasis remap='I'>lcd</emphasis>" argument. If "<emphasis remap='I'>lcd</emphasis>" is (XLCd) NULL,
<function>_Xlcmbstowcs, </function>
@ -1365,7 +1365,7 @@ calls
to determine the current locale.
</para>
<funcsynopsis id='_xwcstombs'>
<funcsynopsis id='_Xwcstombs'>
<funcprototype>
<funcdef>int <function> _Xwcstombs</function></funcdef>
<paramdef>char<parameter> *str</parameter></paramdef>
@ -1376,7 +1376,7 @@ to determine the current locale.
<para>
The
<function>_Xwcstombs </function>
<xref linkend='_Xwcstombs' xrefstyle='select: title'/>
function converts the (wchar_t) NULL terminated wide character string
pointed to by "<emphasis remap='I'>wstr</emphasis>" to the NULL terminated multibyte string
pointed to by "<emphasis remap='I'>str</emphasis>".
@ -1384,12 +1384,12 @@ pointed to by "<emphasis remap='I'>str</emphasis>".
<para>
The call
<function>_Xwcstombs </function>
<xref linkend='_Xwcstombs' xrefstyle='select: title'/>
is equivalent to
_Xlcwcstombs((XLCd)NULL, <emphasis remap='I'>str</emphasis>, <emphasis remap='I'>wstr</emphasis>, <emphasis remap='I'>len</emphasis>)
</para>
<funcsynopsis id='_xlcwcstombs'>
<funcsynopsis id='_Xlcwcstombs'>
<funcprototype>
<funcdef>int <function> _Xlcwcstombs</function></funcdef>
<paramdef>XLCd<parameter> lcd</parameter></paramdef>
@ -1401,7 +1401,7 @@ _Xlcwcstombs((XLCd)NULL, <emphasis remap='I'>str</emphasis>, <emphasis remap='I'
<para>
The
<function>_Xlcwcstombs </function>
<xref linkend='_Xlcwcstombs' xrefstyle='select: title'/>
function is identical to _Xwcstombs, except that it requires the
"<emphasis remap='I'>lcd</emphasis>" argument. If "<emphasis remap='I'>lcd</emphasis>" is (XLCd) NULL,
<function>_Xlcwcstombs, </function>
@ -1410,7 +1410,7 @@ calls
to determine the current locale.
</para>
<funcsynopsis id='_xwcslen'>
<funcsynopsis id='_Xwcslen'>
<funcprototype>
<funcdef>int <function> _Xwcslen</function></funcdef>
<paramdef>wchar_t<parameter> *wstr</parameter></paramdef>
@ -1419,12 +1419,12 @@ to determine the current locale.
<para>
The
<function>_Xwcslen </function>
<xref linkend='_Xwcslen' xrefstyle='select: title'/>
function returns the count of wide characters in the (wchar_t) NULL
terminated wide character string pointed to by "<emphasis remap='I'>wstr</emphasis>".
</para>
<funcsynopsis id='_xwcscpy'>
<funcsynopsis id='_Xwcscpy'>
<funcprototype>
<funcdef>wchar_t *<function> _Xwcscpy</function></funcdef>
<paramdef>wchar_t<parameter> *wstr1</parameter></paramdef>
@ -1432,7 +1432,7 @@ terminated wide character string pointed to by "<emphasis remap='I'>wstr</emphas
</funcprototype>
</funcsynopsis>
<funcsynopsis id='_xwcsncpy'>
<funcsynopsis id='_Xwcsncpy'>
<funcprototype>
<funcdef>wchar_t * <function> _Xwcsncpy</function></funcdef>
<paramdef>wchar_t<parameter> *wstr1</parameter></paramdef>
@ -1443,7 +1443,7 @@ terminated wide character string pointed to by "<emphasis remap='I'>wstr</emphas
<para>
The
<function>_Xwcscpy </function>
<xref linkend='_Xwcscpy' xrefstyle='select: title'/>
function copies the (wchar_t) NULL terminated wide character string
pointed to by "<emphasis remap='I'>wstr2</emphasis>" to the object pointed at by "<emphasis remap='I'>wstr1</emphasis>".
"<emphasis remap='I'>Wstr1</emphasis>" is (wchar_t) NULL terminated. The return value is a
@ -1452,21 +1452,21 @@ pointer to "<emphasis remap='I'>wstr1</emphasis>".
<para>
The
<function>_Xwcsncpy</function>
<xref linkend='_Xwcsncpy' xrefstyle='select: title'/>
function is identical to
<function>_Xwcscpy, </function>
except that it copies "<emphasis remap='I'>len</emphasis>" wide characters from the object
pointed to by "<emphasis remap='I'>wstr2</emphasis>" to the object pointed to "<emphasis remap='I'>wstr1</emphasis>".
</para>
<funcsynopsis id='_xwcscmp'>
<funcsynopsis id='_Xwcscmp'>
<funcprototype>
<funcdef>int <function> _Xwcscmp</function></funcdef>
<paramdef>wchar_t*wstr1,<parameter> *wstr2</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<funcsynopsis id='_xwcsncmp'>
<funcsynopsis id='_Xwcsncmp'>
<funcprototype>
<funcdef>int <function> _Xwcsncmp</function></funcdef>
<paramdef>wchar_t*wstr1,<parameter> *wstr2</parameter></paramdef>
@ -1476,7 +1476,7 @@ pointed to by "<emphasis remap='I'>wstr2</emphasis>" to the object pointed to "<
<para>
The
<function>_Xwcscmp </function>
<xref linkend='_Xwcscmp' xrefstyle='select: title'/>
function compares two (wchar_t) NULL terminated wide character strings.
The value returned is an integer less than, equal to, or greater than zero,
depending on whether "<emphasis remap='I'>wstr1</emphasis>" is lexicographicly less then, equal to,
@ -1485,7 +1485,7 @@ or greater than "<emphasis remap='I'>str2</emphasis>".
<para>
The
<function>_Xwcsncmp </function>
<xref linkend='_Xwcsncmp' xrefstyle='select: title'/>
function is identical to
<function>_XlcCompareISOLatin1, </function>
except that at most "<emphasis remap='I'>len</emphasis>" wide characters are compared.

View file

@ -75,7 +75,7 @@ this Software without prior written authorization from the X Consortium.
</legalnotice>
</bookinfo>
<chapter id="localeDatabase">
<chapter id='LocaleDB'>
<title>LocaleDB</title>
<sect1 id="General">
@ -302,8 +302,8 @@ unescaped, is ignored.
</para>
</sect1>
<sect1 id="Contents_of_Database_">
<title>Contents of Database </title>
<sect1 id='Contents_of_Database'>
<title>Contents of Database</title>
<para>
The available categories and classes depend on implementation, because
different platform will require different information set.

View file

@ -75,7 +75,7 @@ this Software without prior written authorization from the X Consortium.
</legalnotice>
</bookinfo>
<chapter id="xim_transport_specification">
<chapter id='X_Transport_Specification'>
<title>X Transport Specification</title>
<sect1 id="Introduction">
@ -269,7 +269,7 @@ described below.
</sect2>
</sect1>
<sect1 id="The_interface_transport_layer_functions">
<sect1 id='The_interfacetransport_layer_functions'>
<title>The interface/transport layer functions</title>
<para>
Following functions are used for the transport interface.
@ -339,7 +339,7 @@ provided so as to make easier to implement the Protocol Layer.
<title>Opening connection</title>
<para>
<!-- .LP -->
When <function>XOpenIM</function> is called, the following function is called to connect
When <olink targetdoc='libX11' targetptr='XOpenIM'><function>XOpenIM</function></olink> is called, the following function is called to connect
with the IM Server.
</para>
@ -369,7 +369,7 @@ connection is established successfully, this function returns True.
The Alternative Entry for this function is:
</para>
<funcsynopsis id='_ximconnect'>
<funcsynopsis id='_XimConnect'>
<funcprototype>
<funcdef>Bool <function> _XimConnect</function></funcdef>
<paramdef>XIM<parameter> im</parameter></paramdef>
@ -397,7 +397,7 @@ Specifies XIM structure address.
<!-- .XE -->
<para>
<!-- .LP -->
When <function>XCloseIM</function> is called, the following function is called to
When <olink targetdoc='libX11' targetptr='XCloseIM'><function>XCloseIM</function></olink> is called, the following function is called to
disconnect the connection with the IM Server. The Alternative Entry
for this function is:
</para>
@ -429,7 +429,7 @@ connection is closed successfully, this function returns True. The
Alternative Entry for this function is:
</para>
<funcsynopsis id='_ximshutdown'>
<funcsynopsis id='_XimShutdown'>
<funcprototype>
<funcdef>Bool <function>_XimShutdown</function></funcdef>
<paramdef>XIM<parameter> im</parameter></paramdef>
@ -458,7 +458,7 @@ The following function is called, when Xlib needs to write data to the
IM Server.
</para>
<funcsynopsis id='_ximwrite'>
<funcsynopsis id='_XimWrite'>
<funcprototype>
<funcdef>Bool <function> _XimWrite</function></funcdef>
<paramdef>XIM<parameter> im</parameter></paramdef>
@ -559,7 +559,7 @@ The following function is called when Xlib waits for response from IM
server synchronously.
</para>
<funcsynopsis id='_ximread'>
<funcsynopsis id='_XimRead'>
<funcprototype>
<funcdef>Bool <function> _XimRead</function></funcdef>
<paramdef>XIM<parameter> im</parameter></paramdef>
@ -798,7 +798,7 @@ transport layer. If data transfer is completed, the function returns
True. The Alternative Entry for this function is:
</para>
<funcsynopsis id='_ximflush'>
<funcsynopsis id='_XimFlush'>
<funcprototype>
<funcdef>void <function> _XimFlush</function></funcdef>
<paramdef>XIM<parameter> im</parameter></paramdef>
@ -833,7 +833,7 @@ will call asynchronous data handler in the protocol layer. Then it
calls dispatchers in the transport layer. The dispatchers are
implemented by the protocol layer. This function must store the
information and prepare for later call of the dispatchers using
<function>_XimCallDispatcher</function>.
<xref linkend='_XimCallDispatcher' xrefstyle='select: title'/>.
</para>
<para>
@ -953,7 +953,7 @@ that the data has been processed by the upper layer. The Alternative
Entry for this function is:
</para>
<funcsynopsis id='_ximregisterdispatcher'>
<funcsynopsis id='_XimRegisterDispatcher'>
<funcprototype>
<funcdef>Bool <function> _XimRegisterDispatcher</function></funcdef>
<paramdef>XIM<parameter> im</parameter></paramdef>
@ -1062,7 +1062,7 @@ Protocol packet unit or not.
The Alternative Entry for this function is:
</para>
<funcsynopsis id='_ximcalldispatcher'>
<funcsynopsis id='_XimCallDispatcher'>
<funcprototype>
<funcdef>Bool <function> _XimCallDispatcher</function></funcdef>
<paramdef>XIM<parameter> im</parameter></paramdef>
@ -1363,8 +1363,8 @@ lager than this size, is sent via Property.
</sect3>
<sect3 id="read_write_">
<title>read/write </title>
<sect3 id='readwrite'>
<title>read/write</title>
<para>
The data is transferred via either ClientMessage or Window Property in
the X Window System.
@ -1589,7 +1589,7 @@ The arguments of the XChangeProperty are as follows:
<para>
(*1) The read/write property ATOM allocates the following strings by
<function>XInternAtom</function>.
<olink targetdoc='libX11' targetptr='XInternAtom'><function>XInternAtom</function></olink>.
"_clientXXX"
</para>
@ -1888,7 +1888,7 @@ The arguments of the XChangeProperty are as follows:
<para>
(*1) The read/write property ATOM allocates some strings, which are not
allocated by the client, by <function>XInternAtom</function>.
allocated by the client, by <olink targetdoc='libX11' targetptr='XInternAtom'><function>XInternAtom</function></olink>.
</para>
<para>

File diff suppressed because it is too large Load diff

View file

@ -5,7 +5,7 @@
<title>X Font Cursors</title>
<para>
The following are the available cursors that can be used with
<function>XCreateFontCursor</function>.
<xref linkend='XCreateFontCursor' xrefstyle='select: title'/>.
</para>
<literallayout class="monospaced">
#define XC_X_cursor 0 #define XC_ll_angle 76

View file

@ -42,13 +42,13 @@ Basic Protocol Support Routines
</para>
<para>
The basic protocol requests for extensions are
<function>XQueryExtension</function>
<xref linkend='XQueryExtension' xrefstyle='select: title'/>
and
<function>XListExtensions</function>.
<xref linkend='XListExtensions' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XQueryExtension</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xqueryextension'>
<funcsynopsis id='XQueryExtension'>
<funcprototype>
<funcdef>Bool <function>XQueryExtension</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -96,29 +96,29 @@ and
<!-- .LP -->
<!-- .eM -->
The
<function>XQueryExtension</function>
<xref linkend='XQueryExtension' xrefstyle='select: title'/>
function determines if the named extension is present.
If the extension is not present,
<function>XQueryExtension</function>
<xref linkend='XQueryExtension' xrefstyle='select: title'/>
returns
<symbol>False</symbol>;
otherwise, it returns
<symbol>True</symbol>.
If the extension is present,
<function>XQueryExtension</function>
<xref linkend='XQueryExtension' xrefstyle='select: title'/>
returns the major opcode for the extension to major_opcode_return;
otherwise,
it returns zero.
Any minor opcode and the request formats are specific to the
extension.
If the extension involves additional event types,
<function>XQueryExtension</function>
<xref linkend='XQueryExtension' xrefstyle='select: title'/>
returns the base event type code to first_event_return;
otherwise,
it returns zero.
The format of the events is specific to the extension.
If the extension involves additional error codes,
<function>XQueryExtension</function>
<xref linkend='XQueryExtension' xrefstyle='select: title'/>
returns the base error code to first_error_return;
otherwise,
it returns zero.
@ -134,7 +134,7 @@ are all considered different names.
</para>
<indexterm significance="preferred"><primary>XListExtensions</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xlistextensions'>
<funcsynopsis id='XListExtensions'>
<funcprototype>
<funcdef>char **<function>XListExtensions</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -168,7 +168,7 @@ Returns the number of extensions listed.
<!-- .LP -->
<!-- .eM -->
The
<function>XListExtensions</function>
<xref linkend='XListExtensions' xrefstyle='select: title'/>
function returns a list of all extensions supported by the server.
If the data returned by the server is in the Latin Portable Character Encoding,
then the returned strings are in the Host Portable Character Encoding.
@ -176,7 +176,7 @@ Otherwise, the result is implementation-dependent.
</para>
<indexterm significance="preferred"><primary>XFreeExtensionList</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xfreeextensionlist'>
<funcsynopsis id='XFreeExtensionList'>
<funcprototype>
<funcdef><function>XFreeExtensionList</function></funcdef>
<paramdef>char<parameter> **list</parameter></paramdef>
@ -199,9 +199,9 @@ Specifies the list of extension names.
<!-- .LP -->
<!-- .eM -->
The
<function>XFreeExtensionList</function>
<xref linkend='XFreeExtensionList' xrefstyle='select: title'/>
function frees the memory allocated by
<function>XListExtensions</function>.
<xref linkend='XListExtensions' xrefstyle='select: title'/>.
<!-- .SH -->
Hooking into Xlib
</para>
@ -219,7 +219,7 @@ called stubs.
In extensions, stubs first should check to see if they have initialized
themselves on a connection.
If they have not, they then should call
<function>XInitExtension</function>
<xref linkend='XInitExtension' xrefstyle='select: title'/>
to attempt to initialize themselves on the connection.
</para>
<para>
@ -234,7 +234,7 @@ called when these events occur.
The
<structname>XExtCodes</structname>
structure returns the information from
<function>XInitExtension</function>
<xref linkend='XInitExtension' xrefstyle='select: title'/>
and is defined in
<filename class="headerfile">&lt;X11/Xlib.h&gt;</filename>:
</para>
@ -257,7 +257,7 @@ typedef struct _XExtCodes { /* public to extension, cannot be changed */
<!-- .eM -->
<indexterm significance="preferred"><primary>XInitExtension</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xinitextension'>
<funcsynopsis id='XInitExtension'>
<funcprototype>
<funcdef>XExtCodes *<function>XInitExtension</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -291,7 +291,7 @@ Specifies the extension name.
<!-- .LP -->
<!-- .eM -->
The
<function>XInitExtension</function>
<xref linkend='XInitExtension' xrefstyle='select: title'/>
function determines if the named extension exists.
Then, it allocates storage for maintaining the
information about the extension on the connection,
@ -299,7 +299,7 @@ chains this onto the extension list for the connection,
and returns the information the stub implementor will need to access
the extension.
If the extension does not exist,
<function>XInitExtension</function>
<xref linkend='XInitExtension' xrefstyle='select: title'/>
returns NULL.
</para>
<para>
@ -321,7 +321,7 @@ This extension number is unique only to a single connection.
<!-- .LP -->
<indexterm significance="preferred"><primary>XAddExtension</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xaddextension'>
<funcsynopsis id='XAddExtension'>
<funcprototype>
<funcdef>XExtCodes *<function>XAddExtension</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -344,7 +344,7 @@ Specifies the connection to the X server.
<!-- .LP -->
<!-- .eM -->
For local Xlib extensions, the
<function>XAddExtension</function>
<xref linkend='XAddExtension' xrefstyle='select: title'/>
function allocates the
<structname>XExtCodes</structname>
structure, bumps the extension number count,
@ -369,7 +369,7 @@ extension.
</para>
<indexterm significance="preferred"><primary>XESetCloseDisplay</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xesetclosedisplay'>
<funcsynopsis id='XESetCloseDisplay'>
<funcprototype>
<funcdef>int <function>XESetCloseDisplay</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -414,7 +414,7 @@ Specifies the procedure to call when the display is closed.
<!-- .LP -->
<!-- .eM -->
The
<function>XESetCloseDisplay</function>
<xref linkend='XESetCloseDisplay' xrefstyle='select: title'/>
function defines a procedure to be called whenever
<function>XCloseDisplay</function>
is called.
@ -437,7 +437,7 @@ with these arguments:
</para>
<indexterm significance="preferred"><primary>XESetCreateGC</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xesetcreategc'>
<funcsynopsis id='XESetCreateGC'>
<funcprototype>
<funcdef>int *<function>XESetCreateGC</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -482,7 +482,7 @@ Specifies the procedure to call when a GC is closed.
<!-- .LP -->
<!-- .eM -->
The
<function>XESetCreateGC</function>
<xref linkend='XESetCreateGC' xrefstyle='select: title'/>
function defines a procedure to be called whenever
a new GC is created.
It returns any previously defined procedure, usually NULL.
@ -504,7 +504,7 @@ your procedure is called with these arguments:
</para>
<indexterm significance="preferred"><primary>XESetCopyGC</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xesetcopygc'>
<funcsynopsis id='XESetCopyGC'>
<funcprototype>
<funcdef>int *<function>XESetCopyGC</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -549,7 +549,7 @@ Specifies the procedure to call when GC components are copied.
<!-- .LP -->
<!-- .eM -->
The
<function>XESetCopyGC</function>
<xref linkend='XESetCopyGC' xrefstyle='select: title'/>
function defines a procedure to be called whenever
a GC is copied.
It returns any previously defined procedure, usually NULL.
@ -567,7 +567,7 @@ your procedure is called with these arguments:
</funcprototype>
</funcsynopsis>
</para>
<funcsynopsis id='xesetfreegc'>
<funcsynopsis id='XESetFreeGC'>
<funcprototype>
<funcdef>int *<function>XESetFreeGC</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -611,7 +611,7 @@ Specifies the procedure to call when a GC is freed.
<para>
The
<function>XESetFreeGC</function>
<xref linkend='XESetFreeGC' xrefstyle='select: title'/>
function defines a procedure to be called whenever
a GC is freed.
It returns any previously defined procedure, usually NULL.
@ -638,7 +638,7 @@ your procedure is called with these arguments:
<!-- .eM -->
<indexterm significance="preferred"><primary>XESetCreateFont</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xesetcreatefont'>
<funcsynopsis id='XESetCreateFont'>
<funcprototype>
<funcdef>int *<function>XESetCreateFont</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -683,20 +683,20 @@ Specifies the procedure to call when a font is created.
<!-- .LP -->
<!-- .eM -->
The
<function>XESetCreateFont</function>
<xref linkend='XESetCreateFont' xrefstyle='select: title'/>
function defines a procedure to be called whenever
<function>XLoadQueryFont</function>
<xref linkend='XLoadQueryFont' xrefstyle='select: title'/>
and
<function>XQueryFont</function>
<xref linkend='XQueryFont' xrefstyle='select: title'/>
are called.
It returns any previously defined procedure, usually NULL.
</para>
<para>
<!-- .LP -->
When
<function>XLoadQueryFont</function>
<xref linkend='XLoadQueryFont' xrefstyle='select: title'/>
or
<function>XQueryFont</function>
<xref linkend='XQueryFont' xrefstyle='select: title'/>
is called,
your procedure is called with these arguments:
<!-- .LP -->
@ -717,7 +717,7 @@ your procedure is called with these arguments:
<!-- .eM -->
<indexterm significance="preferred"><primary>XESetFreeFont</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xesetfreefont'>
<funcsynopsis id='XESetFreeFont'>
<funcprototype>
<funcdef>int *<function>XESetFreeFont</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -762,16 +762,16 @@ Specifies the procedure to call when a font is freed.
<!-- .LP -->
<!-- .eM -->
The
<function>XESetFreeFont</function>
<xref linkend='XESetFreeFont' xrefstyle='select: title'/>
function defines a procedure to be called whenever
<function>XFreeFont</function>
<xref linkend='XFreeFont' xrefstyle='select: title'/>
is called.
It returns any previously defined procedure, usually NULL.
</para>
<para>
<!-- .LP -->
When
<function>XFreeFont</function>
<xref linkend='XFreeFont' xrefstyle='select: title'/>
is called, your procedure is called with these arguments:
<!-- .LP -->
<!-- .sM -->
@ -791,9 +791,9 @@ is called, your procedure is called with these arguments:
<!-- .LP -->
<!-- .eM -->
The
<function>XESetWireToEvent</function>
<xref linkend='XESetWireToEvent' xrefstyle='select: title'/>
and
<function>XESetEventToWire</function>
<xref linkend='XESetEventToWire' xrefstyle='select: title'/>
functions allow you to define new events to the library.
An
<structname>XEvent</structname>
@ -829,7 +829,7 @@ in the structure will be fully portable between machines.
<!-- .NE -->
<indexterm significance="preferred"><primary>XESetWireToEvent</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xesetwiretoevent'>
<funcsynopsis id='XESetWireToEvent'>
<funcprototype>
<funcdef>int *<function>XESetWireToEvent</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -874,7 +874,7 @@ Specifies the procedure to call when converting an event.
<!-- .LP -->
<!-- .eM -->
The
<function>XESetWireToEvent</function>
<xref linkend='XESetWireToEvent' xrefstyle='select: title'/>
function defines a procedure to be called when an event
needs to be converted from wire format
(<structname>xEvent</structname>)
@ -882,7 +882,7 @@ to host format
(<structname>XEvent</structname>).
The event number defines which protocol event number to install a
conversion procedure for.
<function>XESetWireToEvent</function>
<xref linkend='XESetWireToEvent' xrefstyle='select: title'/>
returns any previously defined procedure.
<!-- .NT -->
You can replace a core event conversion function with one
@ -931,13 +931,13 @@ if it should not be placed in the queue.
<para>
<!-- .LP -->
To initialize the serial number component of the event, call
<function>_XSetLastRequestRead</function>
<xref linkend='_XSetLastRequestRead' xrefstyle='select: title'/>
with the event and use the return value.
</para>
<!-- .LP -->
<indexterm significance="preferred"><primary>_XSetLastRequestRead</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xsetlastrequestread'>
<funcsynopsis id='_XSetLastRequestRead'>
<funcprototype>
<funcdef>unsigned long<function>_XSetLastRequestRead</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -971,7 +971,7 @@ Specifies the wire event structure.
<!-- .LP -->
<!-- .eM -->
The
<function>_XSetLastRequestRead</function>
<xref linkend='_XSetLastRequestRead' xrefstyle='select: title'/>
function computes and returns a complete serial number from the partial
serial number in the event.
<!-- .sp -->
@ -979,7 +979,7 @@ serial number in the event.
<!-- .LP -->
<indexterm significance="preferred"><primary>XESetEventToWire</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xeseteventtowire'>
<funcsynopsis id='XESetEventToWire'>
<funcprototype>
<funcdef>Status *<function>XESetEventToWire</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1024,7 +1024,7 @@ Specifies the procedure to call when converting an event.
<!-- .LP -->
<!-- .eM -->
The
<function>XESetEventToWire</function>
<xref linkend='XESetEventToWire' xrefstyle='select: title'/>
function defines a procedure to be called when an event
needs to be converted from host format
(<structname>XEvent</structname>)
@ -1033,7 +1033,7 @@ to wire format
form.
The event number defines which protocol event number to install a
conversion procedure for.
<function>XESetEventToWire</function>
<xref linkend='XESetEventToWire' xrefstyle='select: title'/>
returns any previously defined procedure.
It returns zero if the conversion fails or nonzero otherwise.
<!-- .NT -->
@ -1071,7 +1071,7 @@ structure.
</para>
<indexterm significance="preferred"><primary>XESetWireToError</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xesetwiretoerror'>
<funcsynopsis id='XESetWireToError'>
<funcprototype>
<funcdef>Bool *<function>XESetWireToError</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1116,12 +1116,12 @@ Specifies the procedure to call when an error is received.
<!-- .LP -->
<!-- .eM -->
The
<function>XESetWireToError</function>
<xref linkend='XESetWireToError' xrefstyle='select: title'/>
function defines a procedure to be called when an extension
error needs to be converted from wire format to host format.
The error number defines which protocol error code to install
the conversion procedure for.
<function>XESetWireToError</function>
<xref linkend='XESetWireToError' xrefstyle='select: title'/>
returns any previously defined procedure.
</para>
<para>
@ -1166,7 +1166,7 @@ otherwise, it should return
</para>
<indexterm significance="preferred"><primary>XESetError</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xeseterror'>
<funcsynopsis id='XESetError'>
<funcprototype>
<funcdef>int *<function>XESetError</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1219,7 +1219,7 @@ case, and are typically programmed to be synchronous).
<para>
<!-- .LP -->
When Xlib detects a protocol error in
<function>_XReply</function>,
<xref linkend='_XReply' xrefstyle='select: title'/>,
it calls your procedure with these arguments:
<!-- .LP -->
<!-- .sM -->
@ -1240,7 +1240,7 @@ it calls your procedure with these arguments:
The err argument is a pointer to the 32-byte wire format error.
The codes argument is a pointer to the extension codes structure.
The ret_code argument is the return code you may want
<function>_XReply</function>
<xref linkend='_XReply' xrefstyle='select: title'/>
returned to.
</para>
<para>
@ -1252,12 +1252,12 @@ the client's error handler is called.
see <link linkend="Using_the_Default_Error_Handlers">section 11.8.2</link>.)
If your procedure returns nonzero,
the error is suppressed, and
<function>_XReply</function>
<xref linkend='_XReply' xrefstyle='select: title'/>
returns the value of ret_code.
</para>
<indexterm significance="preferred"><primary>XESetErrorString</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xeseterrorstring'>
<funcsynopsis id='XESetErrorString'>
<funcprototype>
<funcdef>char *<function>XESetErrorString</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1302,9 +1302,9 @@ Specifies the procedure to call to obtain an error string.
<!-- .LP -->
<!-- .eM -->
The
<function>XGetErrorText</function>
<xref linkend='XGetErrorText' xrefstyle='select: title'/>
function returns a string to the user for an error.
<function>XESetErrorString</function>
<xref linkend='XESetErrorString' xrefstyle='select: title'/>
allows you to define a procedure to be called that
should return a pointer to the error message.
The following is an example.
@ -1333,7 +1333,7 @@ error message into buffer.
</para>
<indexterm significance="preferred"><primary>XESetPrintErrorValues</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xesetprinterrorvalues'>
<funcsynopsis id='XESetPrintErrorValues'>
<funcprototype>
<funcdef>void *<function>XESetPrintErrorValues</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1378,7 +1378,7 @@ Specifies the procedure to call when an error is printed.
<!-- .LP -->
<!-- .eM -->
The
<function>XESetPrintErrorValues</function>
<xref linkend='XESetPrintErrorValues' xrefstyle='select: title'/>
function defines a procedure to be called when an extension
error is printed, to print the error values.
Use this function for extension errors that contain additional error values
@ -1409,13 +1409,13 @@ The structure pointed at by ev is guaranteed to be as large as an
structure and so can be cast to a type larger than an
<structname>XErrorEvent</structname>
to obtain additional values set by using
<function>XESetWireToError</function>.
<xref linkend='XESetWireToError' xrefstyle='select: title'/>.
The underlying type of the fp argument is system dependent;
on a <acronym>POSIX</acronym>-compliant system, fp should be cast to type FILE*.
</para>
<indexterm significance="preferred"><primary>XESetFlushGC</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xesetflushgc'>
<funcsynopsis id='XESetFlushGC'>
<funcprototype>
<funcdef>int *<function>XESetFlushGC</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1460,9 +1460,9 @@ Specifies the procedure to call when a GC is flushed.
<!-- .LP -->
<!-- .eM -->
The procedure set by the
<function>XESetFlushGC</function>
<xref linkend='XESetFlushGC' xrefstyle='select: title'/>
function has the same interface as the procedure set by the
<function>XESetCopyGC</function>
<xref linkend='XESetCopyGC' xrefstyle='select: title'/>
function, but is called when a GC cache needs to be updated in the server.
</para>
<indexterm significance="preferred"><primary>XESetBeforeFlush</primary></indexterm>
@ -1603,7 +1603,7 @@ union { Display *display;
<!-- .eM -->
<indexterm significance="preferred"><primary>XEHeadOfExtensionList</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xeheadofextensionlist'>
<funcsynopsis id='XEHeadOfExtensionList'>
<funcprototype>
<funcdef>XExtData **<function>XEHeadOfExtensionList</function></funcdef>
<paramdef>XEDataObject<parameter> object</parameter></paramdef>
@ -1626,12 +1626,12 @@ Specifies the object.
<!-- .LP -->
<!-- .eM -->
The
<function>XEHeadOfExtensionList</function>
<xref linkend='XEHeadOfExtensionList' xrefstyle='select: title'/>
function returns a pointer to the list of extension structures attached
to the specified object.
In concert with
<function>XAddToExtensionList</function>,
<function>XEHeadOfExtensionList</function>
<xref linkend='XAddToExtensionList' xrefstyle='select: title'/>,
<xref linkend='XEHeadOfExtensionList' xrefstyle='select: title'/>
allows an extension to attach arbitrary data to any of the structures
of types contained in
<structname>XEDataObject</structname>.
@ -1639,7 +1639,7 @@ of types contained in
<!-- .LP -->
<indexterm significance="preferred"><primary>XAddToExtensionList</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xaddtoextensionlist'>
<funcsynopsis id='XAddToExtensionList'>
<funcprototype>
<funcdef><function>XAddToExtensionList</function></funcdef>
<paramdef>XExtData<parameter> **structure</parameter></paramdef>
@ -1679,7 +1679,7 @@ before calling this function.
</para>
<indexterm significance="preferred"><primary>XFindOnExtensionList</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xfindonextensionlist'>
<funcsynopsis id='XFindOnExtensionList'>
<funcprototype>
<funcdef>XExtData *<function>XFindOnExtensionList</function></funcdef>
<paramdef>struct_XExtData<parameter> **structure</parameter></paramdef>
@ -1705,7 +1705,7 @@ Specifies the extension list.
<listitem>
<para>
Specifies the extension number from
<function>XInitExtension</function>.
<xref linkend='XInitExtension' xrefstyle='select: title'/>.
</para>
</listitem>
</varlistentry>
@ -1714,7 +1714,7 @@ Specifies the extension number from
<!-- .LP -->
<!-- .eM -->
The
<function>XFindOnExtensionList</function>
<xref linkend='XFindOnExtensionList' xrefstyle='select: title'/>
function returns the first extension data structure
for the extension numbered number.
It is expected that an extension will add at most one extension
@ -1724,13 +1724,13 @@ There is no way to find additional structures.
<para>
<!-- .LP -->
The
<function>XAllocID</function>
<xref linkend='XAllocID' xrefstyle='select: title'/>
macro, which allocates and returns a resource ID, is defined in
<filename class="headerfile">&lt;X11/Xlib.h&gt;</filename>.
</para>
<indexterm significance="preferred"><primary>XAllocID</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xallocid'>
<funcsynopsis id='XAllocID'>
<funcprototype>
<funcdef><function>XAllocID</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1760,12 +1760,12 @@ It returns a resource ID that you can use when creating new resources.
<para>
<!-- .LP -->
The
<function>XAllocIDs</function>
<xref linkend='XAllocIDs' xrefstyle='select: title'/>
macro allocates and returns an array of resource ID.
</para>
<indexterm significance="preferred"><primary>XAllocIDs</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xallocids'>
<funcsynopsis id='XAllocIDs'>
<funcprototype>
<funcdef><function>XAllocIDs</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1814,7 +1814,7 @@ This macro is a call through the
structure to an internal resource ID allocator.
It returns resource IDs to the array supplied by the caller.
To correctly handle automatic reuse of resource IDs, you must call
<function>XAllocIDs</function>
<xref linkend='XAllocIDs' xrefstyle='select: title'/>
when requesting multiple resource IDs. This call might generate
protocol requests.
<!-- .SH -->
@ -1832,17 +1832,17 @@ in its GC.
<para>
<!-- .LP -->
The
<function>FlushGC</function>
<xref linkend='FlushGC' xrefstyle='select: title'/>
macro checks the dirty bits in the library's GC structure and calls
<function>_XFlushGCCache</function>
<xref linkend='_XFlushGCCache' xrefstyle='select: title'/>
if any elements have changed.
The
<function>FlushGC</function>
<xref linkend='FlushGC' xrefstyle='select: title'/>
macro is defined as follows:
</para>
<indexterm significance="preferred"><primary>FlushGC</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='flushgc'>
<funcsynopsis id='FlushGC'>
<funcprototype>
<funcdef><function>FlushGC</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1882,17 +1882,17 @@ using it, so if you only stored the value in the cache without
forcing a protocol request, the resource might be destroyed before being
set into the GC.
You can use the
<function>_XFlushGCCache</function>
<xref linkend='_XFlushGCCache' xrefstyle='select: title'/>
procedure
to force the cache to be flushed.
The
<function>_XFlushGCCache</function>
<xref linkend='_XFlushGCCache' xrefstyle='select: title'/>
procedure
is defined as follows:
</para>
<indexterm significance="preferred"><primary>_XFlushGCCache</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='_xflushgccache'>
<funcsynopsis id='_XFlushGCCache'>
<funcprototype>
<funcdef><function>_XFlushGCCache</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1945,7 +1945,7 @@ to just extend the previous graphics request by extending the length
field of the request and appending the data to the buffer.
This can improve performance by five times or more in naive programs.
For example, here is the source for the
<function>XDrawPoint</function>
<xref linkend='XDrawPoint' xrefstyle='select: title'/>
stub.
(Writing extension stubs is discussed in the next section.)
</para>
@ -2007,7 +2007,7 @@ there is a symbol defined in
of EPERBATCH on the number of requests batched.
Most of the performance benefit occurs in the first few merged requests.
Note that
<function>FlushGC</function>
<xref linkend='FlushGC' xrefstyle='select: title'/>
is called <emphasis remap='I'>before</emphasis> picking up the value of last_req,
because it may modify this field.
<!-- .SH -->
@ -2314,7 +2314,7 @@ architecture.
Two calls, which are generally implemented as macros, have been provided.
<indexterm significance="preferred"><primary>LockDisplay</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='lockdisplay'>
<funcsynopsis id='LockDisplay'>
<funcprototype>
<funcdef><function>LockDisplay</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -2324,7 +2324,7 @@ Two calls, which are generally implemented as macros, have been provided.
</para>
<!-- .LP -->
<indexterm significance="preferred"><primary>UnlockDisplay</primary></indexterm>
<funcsynopsis id='unlockdisplay'>
<funcsynopsis id='UnlockDisplay'>
<funcprototype>
<funcdef><function>UnlockDisplay</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -2427,13 +2427,13 @@ req-&gt;arg2 = arg2;
...
</programlisting>
A few stub procedures (such as
<function>XCreateGC</function>
<xref linkend='XCreateGC' xrefstyle='select: title'/>
and
<function>XCreatePixmap</function>)
<xref linkend='XCreatePixmap' xrefstyle='select: title'/>)
return a resource ID to the caller but pass a resource ID as an argument
to the protocol request.
Such procedures use the macro
<function>XAllocID</function>
<xref linkend='XAllocID' xrefstyle='select: title'/>
to allocate a resource ID from the range of IDs
that were assigned to this client when it opened the connection.
</para>
@ -2448,13 +2448,13 @@ return (rid);
Finally, some stub procedures transmit a fixed amount of variable-length
data after the request.
Typically, these procedures (such as
<function>XMoveWindow</function>
<xref linkend='XMoveWindow' xrefstyle='select: title'/>
and
<function>XSetBackground</function>)
<xref linkend='XSetBackground' xrefstyle='select: title'/>)
are special cases of more general functions like
<function>XMoveResizeWindow</function>
<xref linkend='XMoveResizeWindow' xrefstyle='select: title'/>
and
<function>XChangeGC</function>.
<xref linkend='XChangeGC' xrefstyle='select: title'/>.
These procedures use
<function>GetReqExtra</function>,
which is the same as
@ -2491,23 +2491,23 @@ then you must round the length up and shift it before adding:
req-&gt;length += (nbytes+3)&gt;&gt;2;
</programlisting>
To transmit variable-length data, use the
<function>Data</function>
<xref linkend='Data' xrefstyle='select: title'/>
macros.
If the data fits into the output buffer,
then this macro copies it to the buffer.
If it does not fit, however,
the
<function>Data</function>
<xref linkend='Data' xrefstyle='select: title'/>
macro calls
<function>_XSend</function>,
which transmits first the contents of the buffer and then your data.
The
<function>Data</function>
<xref linkend='Data' xrefstyle='select: title'/>
macros take three arguments:
the display, a pointer to the beginning of the data,
and the number of bytes to be sent.
<!-- .sM -->
<funcsynopsis id='data'>
<funcsynopsis id='Data'>
<funcprototype>
<funcdef><function>Data</function></funcdef>
<paramdef><parameter> display</parameter></paramdef>
@ -2519,7 +2519,7 @@ and the number of bytes to be sent.
<para>
<!-- .LP -->
<!-- .eM -->
<function>Data</function>,
<xref linkend='Data' xrefstyle='select: title'/>,
<function>Data16</function>,
and
<function>Data32</function>
@ -2536,13 +2536,13 @@ If the protocol request requires a reply,
then call the procedure
<function>_XSend</function>
instead of the
<function>Data</function>
<xref linkend='Data' xrefstyle='select: title'/>
macro.
<function>_XSend</function>
takes the same arguments, but because it sends your data immediately instead of
copying it into the output buffer (which would later be flushed
anyway by the following call on
<function>_XReply</function>),
<xref linkend='_XReply' xrefstyle='select: title'/>),
it is faster.
<!-- .SH -->
Replies
@ -2551,20 +2551,20 @@ Replies
<!-- .LP -->
If the protocol request has a reply,
then call
<function>_XReply</function>
<xref linkend='_XReply' xrefstyle='select: title'/>
after you have finished dealing with
all the fixed-length and variable-length arguments.
<function>_XReply</function>
<xref linkend='_XReply' xrefstyle='select: title'/>
flushes the output buffer and waits for an
<structname>xReply</structname>
packet to arrive.
If any events arrive in the meantime,
<function>_XReply</function>
<xref linkend='_XReply' xrefstyle='select: title'/>
places them in the queue for later use.
</para>
<indexterm significance="preferred"><primary>_XReply</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='_xreply'>
<funcsynopsis id='_XReply'>
<funcprototype>
<funcdef>Status <function>_XReply</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -2621,12 +2621,12 @@ should be discarded.
<!-- .LP -->
<!-- .eM -->
The
<function>_XReply</function>
<xref linkend='_XReply' xrefstyle='select: title'/>
function waits for a reply packet and copies its contents into the
specified rep.
<function>_XReply</function>
<xref linkend='_XReply' xrefstyle='select: title'/>
handles error and event packets that occur before the reply is received.
<function>_XReply</function>
<xref linkend='_XReply' xrefstyle='select: title'/>
takes four arguments:
</para>
<itemizedlist>
@ -2655,7 +2655,7 @@ in the reply structure
<listitem>
<para>
A Boolean that indicates whether
<function>_XReply</function>
<xref linkend='_XReply' xrefstyle='select: title'/>
is to discard any additional bytes
beyond those it was told to read
</para>
@ -2693,7 +2693,7 @@ larger, but compatible,
<structname>xGetWindowAttributesReply</structname>
that contains additional attribute data at the end.
<!-- .NE -->
<function>_XReply</function>
<xref linkend='_XReply' xrefstyle='select: title'/>
returns
<symbol>True</symbol>
if it received a reply successfully or
@ -2725,12 +2725,12 @@ change the
to
<symbol>False</symbol>,
and use the appropriate
<function>_XRead</function>
<xref linkend='_XRead' xrefstyle='select: title'/>
function to read the variable-length data.
</para>
<!-- .LP -->
<!-- .sM -->
<funcsynopsis id='_xread'>
<funcsynopsis id='_XRead'>
<funcprototype>
<funcdef><function>_XRead</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -2775,12 +2775,12 @@ Specifies the number of bytes required.
<!-- .LP -->
<!-- .eM -->
The
<function>_XRead</function>
<xref linkend='_XRead' xrefstyle='select: title'/>
function reads the specified number of bytes into data_return.
</para>
<!-- .LP -->
<!-- .sM -->
<funcsynopsis id='_xread16'>
<funcsynopsis id='_XRead16'>
<funcprototype>
<funcdef><function>_XRead16</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -2825,14 +2825,14 @@ Specifies the number of bytes required.
<!-- .LP -->
<!-- .eM -->
The
<function>_XRead16</function>
<xref linkend='_XRead16' xrefstyle='select: title'/>
function reads the specified number of bytes,
unpacking them as 16-bit quantities,
into the specified array as shorts.
</para>
<!-- .LP -->
<!-- .sM -->
<funcsynopsis id='_xread32'>
<funcsynopsis id='_XRead32'>
<funcprototype>
<funcdef><function>_XRead32</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -2877,14 +2877,14 @@ Specifies the number of bytes required.
<!-- .LP -->
<!-- .eM -->
The
<function>_XRead32</function>
<xref linkend='_XRead32' xrefstyle='select: title'/>
function reads the specified number of bytes,
unpacking them as 32-bit quantities,
into the specified array as longs.
</para>
<!-- .LP -->
<!-- .sM -->
<funcsynopsis id='_xread16pad'>
<funcsynopsis id='_XRead16Pad'>
<funcprototype>
<funcdef><function>_XRead16Pad</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -2929,17 +2929,17 @@ Specifies the number of bytes required.
<!-- .LP -->
<!-- .eM -->
The
<function>_XRead16Pad</function>
<xref linkend='_XRead16Pad' xrefstyle='select: title'/>
function reads the specified number of bytes,
unpacking them as 16-bit quantities,
into the specified array as shorts.
If the number of bytes is not a multiple of four,
<function>_XRead16Pad</function>
<xref linkend='_XRead16Pad' xrefstyle='select: title'/>
reads and discards up to two additional pad bytes.
</para>
<!-- .LP -->
<!-- .sM -->
<funcsynopsis id='_xreadpad'>
<funcsynopsis id='_XReadPad'>
<funcprototype>
<funcdef><function>_XReadPad</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -2984,10 +2984,10 @@ Specifies the number of bytes required.
<!-- .LP -->
<!-- .eM -->
The
<function>_XReadPad</function>
<xref linkend='_XReadPad' xrefstyle='select: title'/>
function reads the specified number of bytes into data_return.
If the number of bytes is not a multiple of four,
<function>_XReadPad</function>
<xref linkend='_XReadPad' xrefstyle='select: title'/>
reads and discards up to three additional pad bytes.
</para>
<para>
@ -3039,7 +3039,7 @@ critical section:
</para>
<indexterm significance="preferred"><primary>_XAllocScratch</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='_xallocscratch'>
<funcsynopsis id='_XAllocScratch'>
<funcprototype>
<funcdef>char *<function>_XAllocScratch</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -3078,14 +3078,14 @@ that might permit another thread to execute inside Xlib. For example,
the pointer cannot be assumed valid after any use of the
<function>GetReq</function>
or
<function>Data</function>
<xref linkend='Data' xrefstyle='select: title'/>
families of macros,
after any use of
<function>_XReply</function>,
<xref linkend='_XReply' xrefstyle='select: title'/>,
or after any use of the
<function>_XSend</function>
or
<function>_XRead</function>
<xref linkend='_XRead' xrefstyle='select: title'/>
families of functions.
</para>
<para>
@ -3096,7 +3096,7 @@ critical sections:
</para>
<indexterm significance="preferred"><primary>_XAllocTemp</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='_xalloctemp'>
<funcsynopsis id='_XAllocTemp'>
<funcprototype>
<funcdef>char *<function>_XAllocTemp</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -3135,7 +3135,7 @@ The following function returns the storage:
</para>
<indexterm significance="preferred"><primary>_XFreeTemp</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='_xfreetemp'>
<funcsynopsis id='_XFreeTemp'>
<funcprototype>
<funcdef>void <function>_XFreeTemp</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -3180,7 +3180,7 @@ Specifies the size of the buffer.
<!-- .LP -->
<!-- .eM -->
You must pass back the same pointer and size that were returned by
<function>_XAllocTemp</function>.
<xref linkend='_XAllocTemp' xrefstyle='select: title'/>.
<!-- .SH -->
Portability Considerations
</para>
@ -3288,7 +3288,7 @@ Call your initialization procedure and pass to it the display pointer.
<listitem>
<para>
Once in your initialization procedure, call
<function>XInitExtension</function>;
<xref linkend='XInitExtension' xrefstyle='select: title'/>;
if it succeeds, store the pointer returned into this array.
Make sure to establish a close display handler to allow you to zero the entry.
Do whatever other initialization your extension requires.

View file

@ -47,16 +47,16 @@ Get X environment defaults
<para>
To specify a minimum set of properties describing the simplest application,
use
<function>XSetStandardProperties</function>.
<xref linkend='XSetStandardProperties' xrefstyle='select: title'/>.
This function has been superseded by
<function>XSetWMProperties</function>
<xref linkend='XSetWMProperties' xrefstyle='select: title'/>
and sets all or portions of the
<property>WM_NAME</property>, <property>WM_ICON_NAME</property>, <property>WM_HINTS</property>, <property>WM_COMMAND</property>,
and <property>WM_NORMAL_HINTS</property> properties.
</para>
<indexterm significance="preferred"><primary>XSetStandardProperties</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xsetstandardproperties'>
<funcsynopsis id='XSetStandardProperties'>
<funcprototype>
<funcdef><function>XSetStandardProperties</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -159,22 +159,22 @@ Specifies a pointer to the size hints for the window in its normal state.
<!-- .LP -->
<!-- .eM -->
The
<function>XSetStandardProperties</function>
<xref linkend='XSetStandardProperties' xrefstyle='select: title'/>
function provides a means by which simple applications set the
most essential properties with a single call.
<function>XSetStandardProperties</function>
<xref linkend='XSetStandardProperties' xrefstyle='select: title'/>
should be used to give a window manager some information about
your program's preferences.
It should not be used by applications that need
to communicate more information than is possible with
<function>XSetStandardProperties</function>.
<xref linkend='XSetStandardProperties' xrefstyle='select: title'/>.
(Typically, argv is the argv array of your main program.)
If the strings are not in the Host Portable Character Encoding,
the result is implementation-dependent.
</para>
<para>
<!-- .LP -->
<function>XSetStandardProperties</function>
<xref linkend='XSetStandardProperties' xrefstyle='select: title'/>
can generate
<errorname>BadAlloc</errorname>
and
@ -199,13 +199,13 @@ header file and use the <property>WM_NORMAL_HINTS</property> property.
<!-- .LP -->
<!-- .sp -->
To set the size hints for a given window in its normal state, use
<function>XSetNormalHints</function>.
<xref linkend='XSetNormalHints' xrefstyle='select: title'/>.
This function has been superseded by
<function>XSetWMNormalHints</function>.
<xref linkend='XSetWMNormalHints' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XSetNormalHints</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xsetnormalhints'>
<funcsynopsis id='XSetNormalHints'>
<funcprototype>
<funcdef><function>XSetNormalHints</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -250,15 +250,15 @@ Specifies a pointer to the size hints for the window in its normal state.
<!-- .LP -->
<!-- .eM -->
The
<function>XSetNormalHints</function>
<xref linkend='XSetNormalHints' xrefstyle='select: title'/>
function sets the size hints structure for the specified window.
Applications use
<function>XSetNormalHints</function>
<xref linkend='XSetNormalHints' xrefstyle='select: title'/>
to inform the window manager of the size
or position desirable for that window.
In addition,
an application that wants to move or resize itself should call
<function>XSetNormalHints</function>
<xref linkend='XSetNormalHints' xrefstyle='select: title'/>
and specify its new desired location and size
as well as making direct Xlib calls to move or resize.
This is because window managers may ignore redirected
@ -271,13 +271,13 @@ an application not only must assign values to the appropriate members
in the hints structure but also must set the flags member of the structure
to indicate which information is present and where it came from.
A call to
<function>XSetNormalHints</function>
<xref linkend='XSetNormalHints' xrefstyle='select: title'/>
is meaningless, unless the flags member is set to indicate which members of
the structure have been assigned values.
</para>
<para>
<!-- .LP -->
<function>XSetNormalHints</function>
<xref linkend='XSetNormalHints' xrefstyle='select: title'/>
can generate
<errorname>BadAlloc</errorname>
and
@ -288,13 +288,13 @@ errors.
<!-- .LP -->
<!-- .sp -->
To return the size hints for a window in its normal state, use
<function>XGetNormalHints</function>.
<xref linkend='XGetNormalHints' xrefstyle='select: title'/>.
This function has been superseded by
<function>XGetWMNormalHints</function>.
<xref linkend='XGetWMNormalHints' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XGetNormalHints</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xgetnormalhints'>
<funcsynopsis id='XGetNormalHints'>
<funcprototype>
<funcdef>Status <function>XGetNormalHints</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -339,14 +339,14 @@ Returns the size hints for the window in its normal state.
<!-- .LP -->
<!-- .eM -->
The
<function>XGetNormalHints</function>
<xref linkend='XGetNormalHints' xrefstyle='select: title'/>
function returns the size hints for a window in its normal state.
It returns a nonzero status if it succeeds or zero if
the application specified no normal size hints for this window.
</para>
<para>
<!-- .LP -->
<function>XGetNormalHints</function>
<xref linkend='XGetNormalHints' xrefstyle='select: title'/>
can generate a
<errorname>BadWindow</errorname>
error.
@ -359,13 +359,13 @@ The next two functions set and read the <property>WM_ZOOM_HINTS</property> prope
<para>
<!-- .LP -->
To set the zoom hints for a window, use
<function>XSetZoomHints</function>.
<xref linkend='XSetZoomHints' xrefstyle='select: title'/>.
This function is no longer supported by the
<emphasis remap='I'>Inter-Client Communication Conventions Manual</emphasis>.
</para>
<indexterm significance="preferred"><primary>XSetZoomHints</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xsetzoomhints'>
<funcsynopsis id='XSetZoomHints'>
<funcprototype>
<funcdef><function>XSetZoomHints</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -412,13 +412,13 @@ Specifies a pointer to the zoom hints.
Many window managers think of windows in one of three states:
iconic, normal, or zoomed.
The
<function>XSetZoomHints</function>
<xref linkend='XSetZoomHints' xrefstyle='select: title'/>
function provides the window manager with information for the window in the
zoomed state.
</para>
<para>
<!-- .LP -->
<function>XSetZoomHints</function>
<xref linkend='XSetZoomHints' xrefstyle='select: title'/>
can generate
<errorname>BadAlloc</errorname>
and
@ -429,13 +429,13 @@ errors.
<!-- .LP -->
<!-- .sp -->
To read the zoom hints for a window, use
<function>XGetZoomHints</function>.
<xref linkend='XGetZoomHints' xrefstyle='select: title'/>.
This function is no longer supported by the
<emphasis remap='I'>Inter-Client Communication Conventions Manual</emphasis>.
</para>
<indexterm significance="preferred"><primary>XGetZoomHints</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xgetzoomhints'>
<funcsynopsis id='XGetZoomHints'>
<funcprototype>
<funcdef>Status <function>XGetZoomHints</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -480,14 +480,14 @@ Returns the zoom hints.
<!-- .LP -->
<!-- .eM -->
The
<function>XGetZoomHints</function>
<xref linkend='XGetZoomHints' xrefstyle='select: title'/>
function returns the size hints for a window in its zoomed state.
It returns a nonzero status if it succeeds or zero if
the application specified no zoom size hints for this window.
</para>
<para>
<!-- .LP -->
<function>XGetZoomHints</function>
<xref linkend='XGetZoomHints' xrefstyle='select: title'/>
can generate a
<errorname>BadWindow</errorname>
error.
@ -496,13 +496,13 @@ error.
<!-- .LP -->
<!-- .sp -->
To set the value of any property of type <property>WM_SIZE_HINTS</property>, use
<function>XSetSizeHints</function>.
<xref linkend='XSetSizeHints' xrefstyle='select: title'/>.
This function has been superseded by
<function>XSetWMSizeHints</function>.
<xref linkend='XSetWMSizeHints' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XSetSizeHints</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xsetsizehints'>
<funcsynopsis id='XSetSizeHints'>
<funcprototype>
<funcdef><function>XSetSizeHints</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -558,20 +558,20 @@ Specifies the property name.
<!-- .LP -->
<!-- .eM -->
The
<function>XSetSizeHints</function>
<xref linkend='XSetSizeHints' xrefstyle='select: title'/>
function sets the
<structname>XSizeHints</structname>
structure for the named property and the specified window.
This is used by
<function>XSetNormalHints</function>
<xref linkend='XSetNormalHints' xrefstyle='select: title'/>
and
<function>XSetZoomHints</function>
<xref linkend='XSetZoomHints' xrefstyle='select: title'/>
and can be used to set the value of any property of type <property>WM_SIZE_HINTS</property>.
Thus, it may be useful if other properties of that type get defined.
</para>
<para>
<!-- .LP -->
<function>XSetSizeHints</function>
<xref linkend='XSetSizeHints' xrefstyle='select: title'/>
can generate
<errorname>BadAlloc</errorname>,
<errorname>BadAtom</errorname>,
@ -583,13 +583,13 @@ errors.
<!-- .LP -->
<!-- .sp -->
To read the value of any property of type <property>WM_SIZE_HINTS</property>, use
<function>XGetSizeHints</function>.
<xref linkend='XGetSizeHints' xrefstyle='select: title'/>.
This function has been superseded by
<function>XGetWMSizeHints</function>.
<xref linkend='XGetWMSizeHints' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XGetSizeHints</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xgetsizehints'>
<funcsynopsis id='XGetSizeHints'>
<funcprototype>
<funcdef>Status <function>XGetSizeHints</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -645,24 +645,24 @@ Specifies the property name.
<!-- .LP -->
<!-- .eM -->
The
<function>XGetSizeHints</function>
<xref linkend='XGetSizeHints' xrefstyle='select: title'/>
function returns the
<structname>XSizeHints</structname>
structure for the named property and the specified window.
This is used by
<function>XGetNormalHints</function>
<xref linkend='XGetNormalHints' xrefstyle='select: title'/>
and
<function>XGetZoomHints</function>.
<xref linkend='XGetZoomHints' xrefstyle='select: title'/>.
It also can be used to retrieve the value of any property of type
<property>WM_SIZE_HINTS</property>.
Thus, it may be useful if other properties of that type get defined.
<function>XGetSizeHints</function>
<xref linkend='XGetSizeHints' xrefstyle='select: title'/>
returns a nonzero status if a size hint was defined
or zero otherwise.
</para>
<para>
<!-- .LP -->
<function>XGetSizeHints</function>
<xref linkend='XGetSizeHints' xrefstyle='select: title'/>
can generate
<errorname>BadAtom</errorname>
and
@ -676,13 +676,13 @@ errors.
To get the
<structname>XStandardColormap</structname>
structure associated with one of the described atoms, use
<function>XGetStandardColormap</function>.
<xref linkend='XGetStandardColormap' xrefstyle='select: title'/>.
This function has been superseded by
<function>XGetRGBColormaps</function>.
<xref linkend='XGetRGBColormaps' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XGetStandardColormap</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xgetstandardcolormap'>
<funcsynopsis id='XGetStandardColormap'>
<funcprototype>
<funcdef>Status <function>XGetStandardColormap</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -738,17 +738,17 @@ Specifies the property name.
<!-- .LP -->
<!-- .eM -->
The
<function>XGetStandardColormap</function>
<xref linkend='XGetStandardColormap' xrefstyle='select: title'/>
function returns the colormap definition associated with the atom supplied
as the property argument.
<function>XGetStandardColormap</function>
<xref linkend='XGetStandardColormap' xrefstyle='select: title'/>
returns a nonzero status if successful and zero otherwise.
For example,
to fetch the standard
<symbol>GrayScale</symbol>
colormap for a display,
you use
<function>XGetStandardColormap</function>
<xref linkend='XGetStandardColormap' xrefstyle='select: title'/>
with the following syntax:
<programlisting>
XGetStandardColormap(dpy, DefaultRootWindow(dpy), &amp;cmap, XA_RGB_GRAY_MAP);
@ -758,7 +758,7 @@ semantics of standard colormaps.
</para>
<para>
<!-- .LP -->
<function>XGetStandardColormap</function>
<xref linkend='XGetStandardColormap' xrefstyle='select: title'/>
can generate
<errorname>BadAtom</errorname>
and
@ -769,13 +769,13 @@ errors.
<!-- .LP -->
<!-- .sp -->
To set a standard colormap, use
<function>XSetStandardColormap</function>.
<xref linkend='XSetStandardColormap' xrefstyle='select: title'/>.
This function has been superseded by
<function>XSetRGBColormaps</function>.
<xref linkend='XSetRGBColormaps' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XSetStandardColormap</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xsetstandardcolormap'>
<funcsynopsis id='XSetStandardColormap'>
<funcprototype>
<funcdef><function>XSetStandardColormap</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -831,12 +831,12 @@ Specifies the property name.
<!-- .LP -->
<!-- .eM -->
The
<function>XSetStandardColormap</function>
<xref linkend='XSetStandardColormap' xrefstyle='select: title'/>
function usually is only used by window or session managers.
</para>
<para>
<!-- .LP -->
<function>XSetStandardColormap</function>
<xref linkend='XSetStandardColormap' xrefstyle='select: title'/>
can generate
<errorname>BadAlloc</errorname>,
<errorname>BadAtom</errorname>,
@ -851,14 +851,14 @@ errors.
<para>
To parse window geometry given a user-specified position
and a default position, use
<function>XGeometry</function>.
<xref linkend='XGeometry' xrefstyle='select: title'/>.
This function has been superseded by
<function>XWMGeometry</function>.
<xref linkend='XWMGeometry' xrefstyle='select: title'/>.
</para>
<indexterm><primary>Window</primary><secondary>determining location</secondary></indexterm>
<indexterm significance="preferred"><primary>XGeometry</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xgeometry'>
<funcsynopsis id='XGeometry'>
<funcprototype>
<funcdef>int <function>XGeometry</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1018,19 +1018,19 @@ size of the increments fwidth and fheight
and any additional interior space (xadder and yadder)
to make it easy to compute the resulting size.
The
<function>XGeometry</function>
<xref linkend='XGeometry' xrefstyle='select: title'/>
function returns the position the window should be placed given a position and
a default position.
<function>XGeometry</function>
<xref linkend='XGeometry' xrefstyle='select: title'/>
determines the placement of
a window using a geometry specification as specified by
<function>XParseGeometry</function>
<xref linkend='XParseGeometry' xrefstyle='select: title'/>
and the additional information about the window.
Given a fully qualified default geometry specification and
an incomplete geometry specification,
<function>XParseGeometry</function>
<xref linkend='XParseGeometry' xrefstyle='select: title'/>
returns a bitmask value as defined above in the
<function>XParseGeometry</function>
<xref linkend='XParseGeometry' xrefstyle='select: title'/>
call,
by using the position argument.
</para>
@ -1049,16 +1049,16 @@ geometry specifications.
<title>Getting the X Environment Defaults</title>
<para>
The
<function>XGetDefault</function>
<xref linkend='XGetDefault' xrefstyle='select: title'/>
function provides a primitive interface to the resource manager facilities
discussed in <link linkend="resource_manager_functions">chapter 15</link>.
discussed in <link linkend='Resource_Manager_Functions'>chapter 15</link>.
It is only useful in very simple applications.
</para>
<!-- .LP -->
<!-- .sp -->
<indexterm significance="preferred"><primary>XGetDefault</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xgetdefault'>
<funcsynopsis id='XGetDefault'>
<funcprototype>
<funcdef>char *<function>XGetDefault</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1104,31 +1104,31 @@ Specifies the option name.
<!-- .LP -->
<!-- .eM -->
The
<function>XGetDefault</function>
<xref linkend='XGetDefault' xrefstyle='select: title'/>
function returns the value of the resource <emphasis remap='I'>prog</emphasis>.<emphasis remap='I'>option</emphasis>,
where <emphasis remap='I'>prog</emphasis> is the program argument with the directory prefix removed
and <emphasis remap='I'>option</emphasis> must be a single component.
Note that multilevel resources cannot be used with
<function>XGetDefault</function>.
<xref linkend='XGetDefault' xrefstyle='select: title'/>.
The class "Program.Name" is always used for the resource lookup.
If the specified option name does not exist for this program,
<function>XGetDefault</function>
<xref linkend='XGetDefault' xrefstyle='select: title'/>
returns NULL.
The strings returned by
<function>XGetDefault</function>
<xref linkend='XGetDefault' xrefstyle='select: title'/>
are owned by Xlib and should not be modified or freed by the client.
</para>
<para>
<!-- .LP -->
If a database has been set with
<function>XrmSetDatabase</function>,
<xref linkend='XrmSetDatabase' xrefstyle='select: title'/>,
that database is used for the lookup.
Otherwise, a database is created
and is set in the display (as if by calling
<function>XrmSetDatabase</function>).
<xref linkend='XrmSetDatabase' xrefstyle='select: title'/>).
The database is created in the current locale.
To create a database,
<function>XGetDefault</function>
<xref linkend='XGetDefault' xrefstyle='select: title'/>
uses resources from the RESOURCE_MANAGER property on the root
window of screen zero.
If no such property exists,
@ -1138,13 +1138,13 @@ this file is
<function>"$HOME/.Xdefaults"</function>.
<indexterm><primary>Files</primary><secondary><filename>$HOME/.Xdefaults</filename></secondary></indexterm>
After loading these defaults,
<function>XGetDefault</function>
<xref linkend='XGetDefault' xrefstyle='select: title'/>
merges additional defaults specified by the XENVIRONMENT
environment variable.
If XENVIRONMENT is defined,
it contains a full path name for the additional resource file.
If XENVIRONMENT is not defined,
<function>XGetDefault</function>
<xref linkend='XGetDefault' xrefstyle='select: title'/>
looks for
"<filename>$HOME/.Xdefaults-<replaceable>name</replaceable></filename>" ,
where <replaceable>name</replaceable> specifies the name of the machine on which the application
@ -1179,10 +1179,10 @@ These functions are provided mainly for compatibility with X Version 10
and have no server support.
That is, they call other Xlib functions, not the server directly.
Thus, if you just have straight lines to draw, using
<function>XDrawLines</function>
<xref linkend='XDrawLines' xrefstyle='select: title'/>
<indexterm><primary>XDrawLines</primary></indexterm>
or
<function>XDrawSegments</function>
<xref linkend='XDrawSegments' xrefstyle='select: title'/>
<indexterm><primary>XDrawSegments</primary></indexterm>
is much faster.
</para>
@ -1190,9 +1190,9 @@ is much faster.
<!-- .LP -->
The functions discussed here provide all the functionality of the
X Version 10 functions
<function>XDraw</function>,
<xref linkend='XDraw' xrefstyle='select: title'/>,
<indexterm ><primary>X10 compatibility</primary><secondary>XDraw</secondary></indexterm>
<function>XDrawFilled</function>,
<xref linkend='XDrawFilled' xrefstyle='select: title'/>,
<indexterm><primary>X10 compatibility</primary><secondary>XDrawFilled</secondary></indexterm>
<function>XDrawPatterned</function>,
<indexterm ><primary>X10 compatibility</primary><secondary>XDrawPatterned</secondary></indexterm>
@ -1219,7 +1219,7 @@ Just how the graphics context you use is set up actually
determines whether you get dashes or not, and so on.
Lines are properly joined if they connect and include
the closing of a closed figure (see
<function>XDrawLines</function>).
<xref linkend='XDrawLines' xrefstyle='select: title'/>).
The functions discussed here fail (return zero) only if they run out of memory
or are passed a
<structname>Vertex</structname>
@ -1237,7 +1237,7 @@ set.
<!-- .LP -->
<!-- .sp -->
To achieve the effects of the X Version 10
<function>XDraw</function>,
<xref linkend='XDraw' xrefstyle='select: title'/>,
<indexterm ><primary>X10 compatibility</primary><secondary>XDraw</secondary></indexterm>
<function>XDrawDashed</function>,
<indexterm><primary>X10 compatibility</primary><secondary>XDrawDashed</secondary></indexterm>
@ -1245,14 +1245,14 @@ and
<function>XDrawPatterned</function>,
<indexterm ><primary>X10 compatibility</primary><secondary>XDrawPatterned</secondary></indexterm>
use
<function>XDraw</function>.
<xref linkend='XDraw' xrefstyle='select: title'/>.
</para>
<para>
#include &lt;X11/X10.h&gt;
</para>
<funcsynopsis id='xdraw'>
<funcsynopsis id='XDraw'>
<funcprototype>
<funcdef>Status <function>XDraw</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1319,7 +1319,7 @@ Specifies how many vertices are in vlist.
<!-- .LP -->
<!-- .eM -->
The
<function>XDraw</function>
<xref linkend='XDraw' xrefstyle='select: title'/>
function draws an arbitrary polygon or curve.
The figure drawn is defined by the specified list of vertices (vlist).
The points are connected by lines as specified in the flags in the
@ -1451,15 +1451,15 @@ To achieve the effects of the X Version 10
<function>XDrawTiled</function>
<indexterm><primary>X10 compatibility</primary><secondary>XDrawTiled</secondary></indexterm>
and
<function>XDrawFilled</function>,
<xref linkend='XDrawFilled' xrefstyle='select: title'/>,
<indexterm><primary>X10 compatibility</primary><secondary>XDrawFilled</secondary></indexterm>
use
<function>XDrawFilled</function>.
<xref linkend='XDrawFilled' xrefstyle='select: title'/>.
</para>
<para>#include &lt;X11/X10.h&gt;</para>
<funcsynopsis id='xdrawfilled'>
<funcsynopsis id='XDrawFilled'>
<funcprototype>
<funcdef>Status <function>XDrawFilled</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1527,7 +1527,7 @@ Specifies how many vertices are in vlist.
<!-- .LP -->
<!-- .eM -->
The
<function>XDrawFilled</function>
<xref linkend='XDrawFilled' xrefstyle='select: title'/>
function draws arbitrary polygons or curves and then fills them.
</para>
<para>
@ -1611,11 +1611,11 @@ bucket.
To return a pointer to a new
<function>XAssocTable</function>,
use
<function>XCreateAssocTable</function>.
<xref linkend='XCreateAssocTable' xrefstyle='select: title'/>.
<indexterm significance="preferred"><primary>XCreateAssocTable</primary></indexterm>
<!-- .sM -->
</para>
<funcsynopsis id='xcreateassoctable'>
<funcsynopsis id='XCreateAssocTable'>
<funcprototype>
<funcdef>XAssocTable *<function>XCreateAssocTable</function></funcdef>
<paramdef>int<parameter> size</parameter></paramdef>
@ -1657,11 +1657,11 @@ a NULL pointer is returned.
To create an entry in a given
<function>XAssocTable</function>,
use
<function>XMakeAssoc</function>.
<xref linkend='XMakeAssoc' xrefstyle='select: title'/>.
<indexterm significance="preferred"><primary>XMakeAssoc</primary></indexterm>
<!-- .sM -->
</para>
<funcsynopsis id='xmakeassoc'>
<funcsynopsis id='XMakeAssoc'>
<funcprototype>
<funcdef><function>XMakeAssoc</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1717,7 +1717,7 @@ Specifies the data to be associated with the X resource ID.
<!-- .LP -->
<!-- .eM -->
The
<function>XMakeAssoc</function>
<xref linkend='XMakeAssoc' xrefstyle='select: title'/>
function inserts data into an
<function>XAssocTable</function>
keyed on an XID.
@ -1732,11 +1732,11 @@ the highest XID.
To obtain data from a given
<function>XAssocTable</function>,
use
<function>XLookUpAssoc</function>.
<xref linkend='XLookUpAssoc' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XLookUpAssoc</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xlookupassoc'>
<funcsynopsis id='XLookUpAssoc'>
<funcprototype>
<funcdef>char *<function>XLookUpAssoc</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1781,12 +1781,12 @@ Specifies the X resource ID.
<!-- .LP -->
<!-- .eM -->
The
<function>XLookUpAssoc</function>
<xref linkend='XLookUpAssoc' xrefstyle='select: title'/>
function retrieves the data stored in an
<function>XAssocTable</function>
by its XID.
If an appropriately matching XID can be found in the table,
<function>XLookUpAssoc</function>
<xref linkend='XLookUpAssoc' xrefstyle='select: title'/>
returns the data associated with it.
If the x_id cannot be found in the table,
it returns NULL.
@ -1797,11 +1797,11 @@ it returns NULL.
To delete an entry from a given
<function>XAssocTable</function>,
use
<function>XDeleteAssoc</function>.
<xref linkend='XDeleteAssoc' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XDeleteAssoc</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xdeleteassoc'>
<funcsynopsis id='XDeleteAssoc'>
<funcprototype>
<funcdef><function>XDeleteAssoc</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1846,7 +1846,7 @@ Specifies the X resource ID.
<!-- .LP -->
<!-- .eM -->
The
<function>XDeleteAssoc</function>
<xref linkend='XDeleteAssoc' xrefstyle='select: title'/>
function deletes an association in an
<function>XAssocTable</function>
keyed on its XID.
@ -1860,11 +1860,11 @@ Deleting associations in no way impairs the performance of an
To free the memory associated with a given
<function>XAssocTable</function>,
use
<function>XDestroyAssocTable</function>.
<xref linkend='XDestroyAssocTable' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XDestroyAssocTable</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xdestroyassoctable'>
<funcsynopsis id='XDestroyAssocTable'>
<funcprototype>
<funcdef><function>XDestroyAssocTable</function></funcdef>
<paramdef>XAssocTable<parameter> *table</parameter></paramdef>

View file

@ -151,7 +151,7 @@ which will be called when the error is reported.
<indexterm><primary>XSync</primary></indexterm>
If a client does not want a request to execute asynchronously,
it can follow the request with a call to
<function>XSync</function>,
<xref linkend='XSync' xrefstyle='select: title'/>,
which blocks until all previously buffered
asynchronous events have been sent and acted on.
As an important side effect,
@ -206,12 +206,12 @@ programs must be prepared to handle (or ignore) events of all types.
Input events (for example, a key pressed or the pointer moved)
arrive asynchronously from the server and are queued until they are
requested by an explicit call (for example,
<function>XNextEvent</function>
<xref linkend='XNextEvent' xrefstyle='select: title'/>
or
<function>XWindowEvent</function>).
<xref linkend='XWindowEvent' xrefstyle='select: title'/>).
In addition, some library
functions (for example,
<function>XRaiseWindow</function>)
<xref linkend='XRaiseWindow' xrefstyle='select: title'/>)
generate
<symbol>Expose</symbol>
and
@ -220,7 +220,7 @@ events.
These events also arrive asynchronously, but the client may
<indexterm><primary>XSync</primary></indexterm>
wish to explicitly wait for them by calling
<function>XSync</function>
<xref linkend='XSync' xrefstyle='select: title'/>
after calling a function that can cause the server to generate events.
</para>
</sect1>
@ -316,7 +316,7 @@ reference this file directly.
<indexterm><primary>Headers</primary><secondary>&lt;X11/Xcms.h&gt;</secondary></indexterm>
<para>
This file contains symbols for much of the color management facilities
described in <link linkend="color_management_functions">chapter 6</link>.
described in <link linkend='Color_Management_Functions'>chapter 6</link>.
All functions, types, and symbols with the prefix "Xcms",
plus the Color Conversion Contexts macros, are declared in this file.
<filename class="headerfile">&lt;X11/Xlib.h&gt;</filename>
@ -334,8 +334,8 @@ must be included before including this file.
This file declares various functions, types, and symbols used for
inter-client communication and application utility functions,
which are described in chapters
<link linkend="inter_client_communication_functions">14</link> and
<link linkend="application_utility_functions">16</link>.
<link linkend='Inter_Client_Communication_Functions'>14</link> and
<link linkend='Application_Utility_Functions'>16</link>.
<filename class="headerfile">&lt;X11/Xlib.h&gt;</filename> must be included before including this file.
</para>
</listitem>
@ -349,7 +349,7 @@ which are described in chapters
<para>
This file declares all functions, types, and symbols for the
resource manager facilities, which are described in
<link linkend="resource_manager_functions">chapter 15</link>.
<link linkend='Resource_Manager_Functions'>chapter 15</link>.
<filename class="headerfile">&lt;X11/Xlib.h&gt;</filename> <!-- xref -->
must be included before including this file.
</para>
@ -683,7 +683,7 @@ rather than presume control of the entire screen.
What you do inside of your top-level window, however,
is up to your application.
For further information,
see <link linkend="inter_client_communication_functions">chapter 14</link>
see <link linkend='Inter_Client_Communication_Functions'>chapter 14</link>
and the <citetitle>Inter-Client Communication Conventions Manual</citetitle>.
</para>
</listitem>

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
<chapter id="display_functions">
<chapter id='Display_Functions'>
<title>Display Functions</title>
<para>
Before your program can use a display, you must establish a connection
@ -63,10 +63,10 @@ Use internal connections
<para>
<!-- .LP -->
To open a connection to the X server that controls a display, use
<function>XOpenDisplay</function>.
<xref linkend='XOpenDisplay' xrefstyle='select: title'/>.
<indexterm significance="preferred"><primary>XOpenDisplay</primary></indexterm>
</para>
<funcsynopsis id='xopendisplay'>
<funcsynopsis id='XOpenDisplay'>
<funcprototype>
<funcdef>Display *<function>XOpenDisplay</function></funcdef>
<paramdef>char *<parameter>display_name</parameter></paramdef>
@ -157,9 +157,9 @@ The screen_number sets an internal variable that can be accessed by
using the
<function>DefaultScreen</function>
macro or the
<function>XDefaultScreen</function>
<xref linkend='XDefaultScreen' xrefstyle='select: title'/>
function if you are using languages other than C
(see <link linkend="Display_Macros_">section 2.2.1</link>).
(see <link linkend='Display_Macros'>section 2.2.1</link>).
</para>
</listitem>
</varlistentry>
@ -179,13 +179,13 @@ dual-headed:0.1
<para>
<!-- .LP -->
The
<function>XOpenDisplay</function>
<xref linkend='XOpenDisplay' xrefstyle='select: title'/>
function returns a
<type>Display</type>
structure that serves as the
connection to the X server and that contains all the information
about that X server.
<function>XOpenDisplay</function>
<xref linkend='XOpenDisplay' xrefstyle='select: title'/>
connects your application to the X server through <acronym>TCP</acronym>
or DECnet communications protocols,
or through some local inter-process communication protocol.
@ -194,7 +194,7 @@ or through some local inter-process communication protocol.
If the protocol is specified as "tcp", "inet", or "inet6", or
if no protocol is specified and the hostname is a host machine name and a single colon (:)
separates the hostname and display number,
<function>XOpenDisplay</function>
<xref linkend='XOpenDisplay' xrefstyle='select: title'/>
connects using <acronym>TCP</acronym> streams. (If the protocol is specified as "inet", <acronym>TCP</acronym> over
IPv4 is used. If the protocol is specified as "inet6", <acronym>TCP</acronym> over IPv6 is used.
Otherwise, the implementation determines which <acronym>IP</acronym> version is used.)
@ -202,7 +202,7 @@ If the hostname and protocol are both not specified,
Xlib uses whatever it believes is the fastest transport.
If the hostname is a host machine name and a double colon (::)
separates the hostname and display number,
<function>XOpenDisplay</function>
<xref linkend='XOpenDisplay' xrefstyle='select: title'/>
connects using DECnet.
A single X server can support any or all of these transport mechanisms
simultaneously.
@ -213,7 +213,7 @@ mechanisms.
<!-- .LP -->
<indexterm><primary>Display</primary></indexterm>
If successful,
<function>XOpenDisplay</function>
<xref linkend='XOpenDisplay' xrefstyle='select: title'/>
returns a pointer to a
<type>Display</type>
structure,
@ -223,16 +223,16 @@ which is defined in
<indexterm><primary>Files</primary><secondary><filename class="headerfile">&lt;X11/Xlib.h&gt;</filename></secondary></indexterm>
<indexterm><primary>Headers</primary><secondary><filename class="headerfile">&lt;X11/Xlib.h&gt;</filename></secondary></indexterm>
If
<function>XOpenDisplay</function>
<xref linkend='XOpenDisplay' xrefstyle='select: title'/>
does not succeed, it returns NULL.
After a successful call to
<function>XOpenDisplay</function>,
<xref linkend='XOpenDisplay' xrefstyle='select: title'/>,
all of the screens in the display can be used by the client.
The screen number specified in the display_name argument is returned
by the
<function>DefaultScreen</function>
macro (or the
<function>XDefaultScreen</function>
<xref linkend='XDefaultScreen' xrefstyle='select: title'/>
function).
You can access elements of the
<type>Display</type>
@ -243,7 +243,7 @@ For information about using macros and functions to obtain information from
the
<type>Display</type>
structure,
see <link linkend="Display_Macros_">section 2.2.1</link>.
see <link linkend='Display_Macros'>section 2.2.1</link>.
</para>
<para>
<!-- .LP -->
@ -295,21 +295,21 @@ Applications must never directly modify or inspect these private members of the
structure.
<!-- .NT Note -->
The
<function>XDisplayWidth</function>,
<function>XDisplayHeight</function>,
<function>XDisplayCells</function>,
<function>XDisplayPlanes</function>,
<function>XDisplayWidthMM</function>,
<xref linkend='XDisplayWidth' xrefstyle='select: title'/>,
<xref linkend='XDisplayHeight' xrefstyle='select: title'/>,
<xref linkend='XDisplayCells' xrefstyle='select: title'/>,
<xref linkend='XDisplayPlanes' xrefstyle='select: title'/>,
<xref linkend='XDisplayWidthMM' xrefstyle='select: title'/>,
and
<function>XDisplayHeightMM</function>
<xref linkend='XDisplayHeightMM' xrefstyle='select: title'/>
functions in the next sections are misnamed.
These functions really should be named Screen<emphasis remap='I'>whatever</emphasis>
and XScreen<emphasis remap='I'>whatever</emphasis>, not Display<emphasis remap='I'>whatever</emphasis> or XDisplay<emphasis remap='I'>whatever</emphasis>.
Our apologies for the resulting confusion.
<!-- .NE -->
</para>
<sect2 id="Display_Macros_">
<title>Display Macros </title>
<sect2 id='Display_Macros'>
<title>Display Macros</title>
<!-- .XS -->
<!-- (SN Display Macros -->
<!-- .XE -->
@ -357,7 +357,7 @@ The names are intended to convey the expected relative intensity of the colors.
<para>
BlackPixel(<emphasis remap='I'>display</emphasis>, <emphasis remap='I'>screen_number</emphasis>)
</para>
<funcsynopsis id='xblackpixel'>
<funcsynopsis id='XBlackPixel'>
<funcprototype>
<funcdef>unsigned long <function>XBlackPixel</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -402,7 +402,7 @@ Both return the black pixel value for the specified screen.
<para>
WhitePixel(<emphasis remap='I'>display</emphasis>, <emphasis remap='I'>screen_number</emphasis>)
</para>
<funcsynopsis id='xwhitepixel'>
<funcsynopsis id='XWhitePixel'>
<funcprototype>
<funcdef>unsigned long <function>XWhitePixel</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -447,7 +447,7 @@ Both return the white pixel value for the specified screen.
<para>
ConnectionNumber(<emphasis remap='I'>display</emphasis>)
</para>
<funcsynopsis id='xconnectionnumber'>
<funcsynopsis id='XConnectionNumber'>
<funcprototype>
<funcdef>int <function>XConnectionNumber</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -484,7 +484,7 @@ this is the file descriptor of the connection.
<para>
DefaultColormap(<emphasis remap='I'>display</emphasis>, <emphasis remap='I'>screen_number</emphasis>)
</para>
<funcsynopsis id='xdefaultcolormap'>
<funcsynopsis id='XDefaultColormap'>
<funcprototype>
<funcdef>Colormap <function>XDefaultColormap</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -530,7 +530,7 @@ Most routine allocations of color should be made out of this colormap.
<para>
DefaultDepth(<emphasis remap='I'>display</emphasis>, <emphasis remap='I'>screen_number</emphasis>)
</para>
<funcsynopsis id='xdefaultdepth'>
<funcsynopsis id='XDefaultDepth'>
<funcprototype>
<funcdef>int <function>XDefaultDepth</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -568,7 +568,7 @@ Specifies the appropriate screen number on the host server.
Both return the depth (number of planes) of the default root window for the
specified screen.
Other depths may also be supported on this screen (see
<function>XMatchVisualInfo</function>).
<xref linkend='XMatchVisualInfo' xrefstyle='select: title'/>).
</para>
<para>
<!-- .LP -->
@ -581,7 +581,7 @@ To determine the number of depths that are available on a given screen, use
<para>
DefaultGC(<emphasis remap='I'>display</emphasis>, <emphasis remap='I'>screen_number</emphasis>)
</para>
<funcsynopsis id='xdefaultgc'>
<funcsynopsis id='XDefaultGC'>
<funcprototype>
<funcdef>GC <function>XDefaultGC</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -636,7 +636,7 @@ can be allocated,
sets count_return to the number of available depths.
Otherwise, it does not set count_return and returns NULL.
To release the memory allocated for the array of depths, use
<function>XFree</function>.
<xref linkend='XFree' xrefstyle='select: title'/>.
</para>
<para>
<!-- .LP -->
@ -699,7 +699,7 @@ This GC should never be freed.
<para>
DefaultRootWindow(<emphasis remap='I'>display</emphasis>)
</para>
<funcsynopsis id='xdefaultrootwindow'>
<funcsynopsis id='XDefaultRootWindow'>
<funcprototype>
<funcdef>Window <function>XDefaultRootWindow</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -733,7 +733,7 @@ Both return the root window for the default screen.
<para>
DefaultScreenOfDisplay(<emphasis remap='I'>display</emphasis>)
</para>
<funcsynopsis id='xdefaultscreenofdisplay'>
<funcsynopsis id='XDefaultScreenOfDisplay'>
<funcprototype>
<funcdef>Screen *<function>XDefaultScreenOfDisplay</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -767,7 +767,7 @@ Both return a pointer to the default screen.
<para>
ScreenOfDisplay(<emphasis remap='I'>display</emphasis>, <emphasis remap='I'>screen_number</emphasis>)
</para>
<funcsynopsis id='xscreenofdisplay'>
<funcsynopsis id='XScreenOfDisplay'>
<funcprototype>
<funcdef>Screen *<function>XScreenOfDisplay</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -812,7 +812,7 @@ Both return a pointer to the indicated screen.
<para>
DefaultScreen(<emphasis remap='I'>display</emphasis>)
</para>
<funcsynopsis id='xdefaultscreen'>
<funcsynopsis id='XDefaultScreen'>
<funcprototype>
<funcdef>int <function>XDefaultScreen</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -837,7 +837,7 @@ Specifies the connection to the X server.
<indexterm significance="preferred"><primary>DefaultScreen</primary></indexterm>
<indexterm significance="preferred"><primary>XDefaultScreen</primary></indexterm>
Both return the default screen number referenced by the
<function>XOpenDisplay</function>
<xref linkend='XOpenDisplay' xrefstyle='select: title'/>
function.
This macro or function should be used to retrieve the screen number
in applications that will use only a single screen.
@ -850,7 +850,7 @@ in applications that will use only a single screen.
<para>
DefaultVisual(<emphasis remap='I'>display</emphasis>, <emphasis remap='I'>screen_number</emphasis>)
</para>
<funcsynopsis id='xdefaultvisual'>
<funcsynopsis id='XDefaultVisual'>
<funcprototype>
<funcdef>Visual *<function>XDefaultVisual</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -897,7 +897,7 @@ see <link linkend="Visual_Types">section 3.1</link>.
<para>
DisplayCells(<emphasis remap='I'>display</emphasis>, <emphasis remap='I'>screen_number</emphasis>)
</para>
<funcsynopsis id='xdisplaycells'>
<funcsynopsis id='XDisplayCells'>
<funcprototype>
<funcdef>int <function>XDisplayCells</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -942,7 +942,7 @@ Both return the number of entries in the default colormap.
<para>
DisplayPlanes(<emphasis remap='I'>display</emphasis>, <emphasis remap='I'>screen_number</emphasis>)
</para>
<funcsynopsis id='xdisplayplanes'>
<funcsynopsis id='XDisplayPlanes'>
<funcprototype>
<funcdef>int <function>XDisplayPlanes</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -989,7 +989,7 @@ see the glossary.
<para>
DisplayString(<emphasis remap='I'>display</emphasis>)
</para>
<funcsynopsis id='xdisplaystring'>
<funcsynopsis id='XDisplayString'>
<funcprototype>
<funcdef>char *<function>XDisplayString</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1014,7 +1014,7 @@ Specifies the connection to the X server.
<indexterm significance="preferred"><primary>DisplayString</primary></indexterm>
<indexterm significance="preferred"><primary>XDisplayString</primary></indexterm>
Both return the string that was passed to
<function>XOpenDisplay</function>
<xref linkend='XOpenDisplay' xrefstyle='select: title'/>
when the current display was opened.
On <acronym>POSIX</acronym>-conformant systems,
if the passed string was NULL, these return the value of
@ -1033,7 +1033,7 @@ child process as well as for printing error messages.
<para>
LastKnownRequestProcessed(<emphasis remap='I'>display</emphasis>)
</para>
<funcsynopsis id='xlastknownrequestprocessed'>
<funcsynopsis id='XLastKnownRequestProcessed'>
<funcprototype>
<funcdef>unsigned long <function>XLastKnownRequestProcessed</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1057,28 +1057,28 @@ Specifies the connection to the X server.
<!-- .eM -->
<indexterm significance="preferred"><primary>XExtendedMaxRequestSize</primary></indexterm>
The
<function>XExtendedMaxRequestSize</function>
<olink targetdoc='bigreq' targetptr='XExtendedMaxRequestSize'><function>XExtendedMaxRequestSize</function></olink>
function returns zero if the specified display does not support an
extended-length protocol encoding; otherwise,
it returns the maximum request size (in 4-byte units) supported
by the server using the extended-length encoding.
The Xlib functions
<function>XDrawLines</function>,
<function>XDrawArcs</function>,
<function>XFillPolygon</function>,
<function>XChangeProperty</function>,
<function>XSetClipRectangles</function>,
<xref linkend='XDrawLines' xrefstyle='select: title'/>,
<xref linkend='XDrawArcs' xrefstyle='select: title'/>,
<xref linkend='XFillPolygon' xrefstyle='select: title'/>,
<xref linkend='XChangeProperty' xrefstyle='select: title'/>,
<xref linkend='XSetClipRectangles' xrefstyle='select: title'/>,
and
<function>XSetRegion</function>
<xref linkend='XSetRegion' xrefstyle='select: title'/>
will use the extended-length encoding as necessary, if supported
by the server. Use of the extended-length encoding in other Xlib
functions (for example,
<function>XDrawPoints</function>,
<function>XDrawRectangles</function>,
<function>XDrawSegments</function>,
<function>XFillArcs</function>,
<function>XFillRectangles</function>,
<function>XPutImage</function>)
<xref linkend='XDrawPoints' xrefstyle='select: title'/>,
<xref linkend='XDrawRectangles' xrefstyle='select: title'/>,
<xref linkend='XDrawSegments' xrefstyle='select: title'/>,
<xref linkend='XFillArcs' xrefstyle='select: title'/>,
<xref linkend='XFillRectangles' xrefstyle='select: title'/>,
<xref linkend='XPutImage' xrefstyle='select: title'/>)
is permitted but not required; an Xlib implementation may choose to
split the data across multiple smaller requests instead.
</para>
@ -1123,13 +1123,13 @@ The protocol guarantees the size to be no smaller than 4096 units
(16384 bytes).
Xlib automatically breaks data up into multiple protocol requests
as necessary for the following functions:
<function>XDrawPoints</function>,
<function>XDrawRectangles</function>,
<function>XDrawSegments</function>,
<function>XFillArcs</function>,
<function>XFillRectangles</function>,
<xref linkend='XDrawPoints' xrefstyle='select: title'/>,
<xref linkend='XDrawRectangles' xrefstyle='select: title'/>,
<xref linkend='XDrawSegments' xrefstyle='select: title'/>,
<xref linkend='XFillArcs' xrefstyle='select: title'/>,
<xref linkend='XFillRectangles' xrefstyle='select: title'/>,
and
<function>XPutImage</function>.
<xref linkend='XPutImage' xrefstyle='select: title'/>.
</para>
<para>
<!-- .LP -->
@ -1176,7 +1176,7 @@ are received.
<para>
NextRequest(<emphasis remap='I'>display</emphasis>)
</para>
<funcsynopsis id='xnextrequest'>
<funcsynopsis id='XNextRequest'>
<funcprototype>
<funcdef>unsigned long <function>XNextRequest</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1212,7 +1212,7 @@ Serial numbers are maintained separately for each display connection.
<para>
ProtocolVersion(<emphasis remap='I'>display</emphasis>)
</para>
<funcsynopsis id='xprotocolversion'>
<funcsynopsis id='XProtocolVersion'>
<funcprototype>
<funcdef>int <function>XProtocolVersion</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1247,7 +1247,7 @@ the connected display.
<para>
ProtocolRevision(<emphasis remap='I'>display</emphasis>)
</para>
<funcsynopsis id='xprotocolrevision'>
<funcsynopsis id='XProtocolRevision'>
<funcprototype>
<funcdef>int <function>XProtocolRevision</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1281,7 +1281,7 @@ Both return the minor protocol revision number of the X server.
<para>
QLength(<emphasis remap='I'>display</emphasis>)
</para>
<funcsynopsis id='xqlength'>
<funcsynopsis id='XQLength'>
<funcprototype>
<funcdef>int <function>XQLength</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1308,7 +1308,7 @@ Specifies the connection to the X server.
Both return the length of the event queue for the connected display.
Note that there may be more events that have not been read into
the queue yet (see
<function>XEventsQueued</function>).
<xref linkend='XEventsQueued' xrefstyle='select: title'/>).
</para>
<para>
<!-- .LP -->
@ -1318,7 +1318,7 @@ the queue yet (see
<para>
RootWindow(<emphasis remap='I'>display</emphasis>, <emphasis remap='I'>screen_number</emphasis>)
</para>
<funcsynopsis id='xrootwindow'>
<funcsynopsis id='XRootWindow'>
<funcprototype>
<funcdef>Window <function>XRootWindow</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1367,7 +1367,7 @@ and for creating top-level windows.
<para>
ScreenCount(<emphasis remap='I'>display</emphasis>)
</para>
<funcsynopsis id='xscreencount'>
<funcsynopsis id='XScreenCount'>
<funcprototype>
<funcdef>int <function>XScreenCount</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1401,7 +1401,7 @@ Both return the number of available screens.
<para>
ServerVendor(<emphasis remap='I'>display</emphasis>)
</para>
<funcsynopsis id='xservervendor'>
<funcsynopsis id='XServerVendor'>
<funcprototype>
<funcdef>char *<function>XServerVendor</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1439,7 +1439,7 @@ Otherwise, the contents of the string are implementation-dependent.
<para>
VendorRelease(<emphasis remap='I'>display</emphasis>)
</para>
<funcsynopsis id='xvendorrelease'>
<funcsynopsis id='XVendorRelease'>
<funcprototype>
<funcdef>int <function>XVendorRelease</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1514,7 +1514,7 @@ To obtain the pixmap format information for a given display, use
<para>
ImageByteOrder(<emphasis remap='I'>display</emphasis>)
</para>
<funcsynopsis id='ximagebyteorder'>
<funcsynopsis id='XImageByteOrder'>
<funcprototype>
<funcdef>int <function>XImageByteOrder</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1560,7 +1560,7 @@ returns NULL.
To free the allocated storage for the
<structname>XPixmapFormatValues</structname>
structures, use
<function>XFree</function>.
<xref linkend='XFree' xrefstyle='select: title'/>.
</para>
<para>
<!-- .LP -->
@ -1617,7 +1617,7 @@ or
<para>
BitmapUnit(<emphasis remap='I'>display</emphasis>)
</para>
<funcsynopsis id='xbitmapunit'>
<funcsynopsis id='XBitmapUnit'>
<funcprototype>
<funcdef>int <function>XBitmapUnit</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1652,7 +1652,7 @@ The scanline is calculated in multiples of this value.
<para>
BitmapBitOrder(<emphasis remap='I'>display</emphasis>)
</para>
<funcsynopsis id='xbitmpabitorder'>
<funcsynopsis id='XBitmapBitOrder'>
<funcprototype>
<funcdef>int <function>XBitmapBitOrder</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1692,7 +1692,7 @@ or
<para>
BitmapPad(<emphasis remap='I'>display</emphasis>)
</para>
<funcsynopsis id='xbitmappad'>
<funcsynopsis id='XBitmapPad'>
<funcprototype>
<funcdef>int <function>XBitmapPad</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1727,7 +1727,7 @@ by this macro or function.
<para>
DisplayHeight(<emphasis remap='I'>display</emphasis>, <emphasis remap='I'>screen_number</emphasis>)
</para>
<funcsynopsis id='xdisplayheight'>
<funcsynopsis id='XDisplayHeight'>
<funcprototype>
<funcdef>int <function>XDisplayHeight</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1773,7 +1773,7 @@ in pixels.
<para>
DisplayHeightMM(<emphasis remap='I'>display</emphasis>, <emphasis remap='I'>screen_number</emphasis>)
</para>
<funcsynopsis id='xdisplayheightmm'>
<funcsynopsis id='XDisplayHeightMM'>
<funcprototype>
<funcdef>int <function>XDisplayHeightMM</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1818,7 +1818,7 @@ Both return the height of the specified screen in millimeters.
<para>
DisplayWidth(<emphasis remap='I'>display</emphasis>, <emphasis remap='I'>screen_number</emphasis>)
</para>
<funcsynopsis id='xdisplaywidth'>
<funcsynopsis id='XDisplayWidth'>
<funcprototype>
<funcdef>int <function>XDisplayWidth</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1863,7 +1863,7 @@ Both return the width of the screen in pixels.
<para>
DisplayWidthMM(<emphasis remap='I'>display</emphasis>, <emphasis remap='I'>screen_number</emphasis>)
</para>
<funcsynopsis id='xdisplaywidthmm'>
<funcsynopsis id='XDisplayWidthMM'>
<funcprototype>
<funcdef>int <function>XDisplayWidthMM</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1922,7 +1922,7 @@ structure.
<para>
BlackPixelOfScreen(<emphasis remap='I'>screen</emphasis>)
</para>
<funcsynopsis id='xblackpixelofscreen'>
<funcsynopsis id='XBlackPixelOfScreen'>
<funcprototype>
<funcdef>unsigned long <function>XBlackPixelOfScreen</function></funcdef>
<paramdef>Screen<parameter> *screen</parameter></paramdef>
@ -1958,7 +1958,7 @@ Both return the black pixel value of the specified screen.
<para>
WhitePixelOfScreen(<emphasis remap='I'>screen</emphasis>)
</para>
<funcsynopsis id='xwhitepixelofscreen'>
<funcsynopsis id='XWhitePixelOfScreen'>
<funcprototype>
<funcdef>unsigned long <function>XWhitePixelOfScreen</function></funcdef>
<paramdef>Screen<parameter> *screen</parameter></paramdef>
@ -1994,7 +1994,7 @@ Both return the white pixel value of the specified screen.
<para>
CellsOfScreen(<emphasis remap='I'>screen</emphasis>)
</para>
<funcsynopsis id='xcellsofscreen'>
<funcsynopsis id='XCellsOfScreen'>
<funcprototype>
<funcdef>int <function>XCellsOfScreen</function></funcdef>
<paramdef>Screen<parameter> *screen</parameter></paramdef>
@ -2031,7 +2031,7 @@ of the specified screen.
<para>
DefaultColormapOfScreen(<emphasis remap='I'>screen</emphasis>)
</para>
<funcsynopsis id='xdefaultcolormapofscreen'>
<funcsynopsis id='XDefaultColormapOfScreen'>
<funcprototype>
<funcdef>Colormap <function>XDefaultColormapOfScreen</function></funcdef>
<paramdef>Screen<parameter> *screen</parameter></paramdef>
@ -2067,7 +2067,7 @@ Both return the default colormap of the specified screen.
<para>
DefaultDepthOfScreen(<emphasis remap='I'>screen</emphasis>)
</para>
<funcsynopsis id='xdefaultdepthofscreen'>
<funcsynopsis id='XDefaultDepthOfScreen'>
<funcprototype>
<funcdef>int <function>XDefaultDepthOfScreen</function></funcdef>
<paramdef>Screen<parameter> *screen</parameter></paramdef>
@ -2103,7 +2103,7 @@ Both return the depth of the root window.
<para>
DefaultGCOfScreen(<emphasis remap='I'>screen</emphasis>)
</para>
<funcsynopsis id='xdefaultgcofscreen'>
<funcsynopsis id='XDefaultGCOfScreen'>
<funcprototype>
<funcdef>GC <function>XDefaultGCOfScreen</function></funcdef>
<paramdef>Screen<parameter> *screen</parameter></paramdef>
@ -2141,7 +2141,7 @@ The GC must never be freed.
<para>
DefaultVisualOfScreen(<emphasis remap='I'>screen</emphasis>)
</para>
<funcsynopsis id='xdefaultvisualofscreen'>
<funcsynopsis id='XDefaultVisualOfScreen'>
<funcprototype>
<funcdef>Visual *<function>XDefaultVisualOfScreen</function></funcdef>
<paramdef>Screen<parameter> *screen</parameter></paramdef>
@ -2179,7 +2179,7 @@ see <link linkend="Visual_Types">section 3.1</link>.
<para>
DoesBackingStore(<emphasis remap='I'>screen</emphasis>)
</para>
<funcsynopsis id='xdoesbackingstore'>
<funcsynopsis id='XDoesBackingStore'>
<funcprototype>
<funcdef>int <function>XDoesBackingStore</function></funcdef>
<paramdef>Screen<parameter> *screen</parameter></paramdef>
@ -2222,7 +2222,7 @@ or
<para>
DoesSaveUnders(<emphasis remap='I'>screen</emphasis>)
</para>
<funcsynopsis id='xdoessaveunders'>
<funcsynopsis id='XDoesSaveUnders'>
<funcprototype>
<funcdef>Bool <function>XDoesSaveUnders</function></funcdef>
<paramdef>Screen<parameter> *screen</parameter></paramdef>
@ -2266,7 +2266,7 @@ the screen does not support save unders
<para>
DisplayOfScreen(<emphasis remap='I'>screen</emphasis>)
</para>
<funcsynopsis id='xdisplayofscreen'>
<funcsynopsis id='XDisplayOfScreen'>
<funcprototype>
<funcdef>Display *<function>XDisplayOfScreen</function></funcdef>
<paramdef>Screen<parameter> *screen</parameter></paramdef>
@ -2303,7 +2303,7 @@ Both return the display of the specified screen.
<para>
EventMaskOfScreen(<emphasis remap='I'>screen</emphasis>)
</para>
<funcsynopsis id='xeventmaskofscreen'>
<funcsynopsis id='XEventMaskOfScreen'>
<funcprototype>
<funcdef>long <function>XEventMaskOfScreen</function></funcdef>
<paramdef>Screen<parameter> *screen</parameter></paramdef>
@ -2376,7 +2376,7 @@ at connection setup time.
<para>
WidthOfScreen(<emphasis remap='I'>screen</emphasis>)
</para>
<funcsynopsis id='xwidthofscreen'>
<funcsynopsis id='XWidthOfScreen'>
<funcprototype>
<funcdef>int <function>XWidthOfScreen</function></funcdef>
<paramdef>Screen<parameter> *screen</parameter></paramdef>
@ -2412,7 +2412,7 @@ Both return the width of the specified screen in pixels.
<para>
HeightOfScreen(<emphasis remap='I'>screen</emphasis>)
</para>
<funcsynopsis id='xheightofscreen'>
<funcsynopsis id='XHeightOfScreen'>
<funcprototype>
<funcdef>int <function>XHeightOfScreen</function></funcdef>
<paramdef>Screen<parameter> *screen</parameter></paramdef>
@ -2448,7 +2448,7 @@ Both return the height of the specified screen in pixels.
<para>
WidthMMOfScreen(<emphasis remap='I'>screen</emphasis>)
</para>
<funcsynopsis id='xwidthmmofscreen'>
<funcsynopsis id='XWidthMMOfScreen'>
<funcprototype>
<funcdef>int <function>XWidthMMOfScreen</function></funcdef>
<paramdef>Screen<parameter> *screen</parameter></paramdef>
@ -2484,7 +2484,7 @@ Both return the width of the specified screen in millimeters.
<para>
HeightMMOfScreen(<emphasis remap='I'>screen</emphasis>)
</para>
<funcsynopsis id='xheightmmofscreen'>
<funcsynopsis id='XHeightMMOfScreen'>
<funcprototype>
<funcdef>int <function>XHeightMMOfScreen</function></funcdef>
<paramdef>Screen<parameter> *screen</parameter></paramdef>
@ -2520,7 +2520,7 @@ Both return the height of the specified screen in millimeters.
<para>
MaxCmapsOfScreen(<emphasis remap='I'>screen</emphasis>)
</para>
<funcsynopsis id='xmaxcmapsofscreen'>
<funcsynopsis id='XMaxCmapsOfScreen'>
<funcprototype>
<funcdef>int <function>XMaxCmapsOfScreen</function></funcdef>
<paramdef>Screen<parameter> *screen</parameter></paramdef>
@ -2558,7 +2558,7 @@ by the specified screen
<para>
MinCmapsOfScreen(<emphasis remap='I'>screen</emphasis>)
</para>
<funcsynopsis id='xmincmapsofscreen'>
<funcsynopsis id='XMinCmapsOfScreen'>
<funcprototype>
<funcdef>int <function>XMinCmapsOfScreen</function></funcdef>
<paramdef>Screen<parameter> *screen</parameter></paramdef>
@ -2596,7 +2596,7 @@ by the specified screen
<para>
PlanesOfScreen(<emphasis remap='I'>screen</emphasis>)
</para>
<funcsynopsis id='xplanesofscreen'>
<funcsynopsis id='XPlanesOfScreen'>
<funcprototype>
<funcdef>int <function>XPlanesOfScreen</function></funcdef>
<paramdef>Screen<parameter> *screen</parameter></paramdef>
@ -2632,7 +2632,7 @@ Both return the depth of the root window.
<para>
RootWindowOfScreen(<emphasis remap='I'>screen</emphasis>)
</para>
<funcsynopsis id='xrootwindowofscreen'>
<funcsynopsis id='XRootWindowOfScreen'>
<funcprototype>
<funcdef>Window <function>XRootWindowOfScreen</function></funcdef>
<paramdef>Screen<parameter> *screen</parameter></paramdef>
@ -2672,11 +2672,11 @@ Both return the root window of the specified screen.
To execute a
<systemitem>NoOperation</systemitem>
protocol request, use
<function>XNoOp</function>.
<xref linkend='XNoOp' xrefstyle='select: title'/>.
<indexterm significance="preferred"><primary>XNoOp</primary></indexterm>
<!-- .sM -->
</para>
<funcsynopsis id='xnoop'>
<funcsynopsis id='XNoOp'>
<funcprototype>
<funcdef><function>XNoOp</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -2695,7 +2695,7 @@ protocol request, use
<!-- .LP -->
<!-- .eM -->
The
<function>XNoOp</function>
<xref linkend='XNoOp' xrefstyle='select: title'/>
function sends a
<systemitem>NoOperation</systemitem>
protocol request to the X server,
@ -2710,11 +2710,11 @@ thereby exercising the connection.
<para>
<!-- .LP -->
To free in-memory data that was created by an Xlib function, use
<function>XFree</function>.
<xref linkend='XFree' xrefstyle='select: title'/>.
<indexterm significance="preferred"><primary>XFree</primary></indexterm>
<!-- .sM -->
</para>
<funcsynopsis id='xfree'>
<funcsynopsis id='XFree'>
<funcprototype>
<funcdef>XFree</funcdef>
<paramdef>void<parameter> *data</parameter></paramdef>
@ -2738,7 +2738,7 @@ Specifies the data that is to be freed.
<!-- .LP -->
<!-- .eM -->
The
<function>XFree</function>
<xref linkend='XFree' xrefstyle='select: title'/>
function is a general-purpose Xlib routine that frees the specified data.
You must use it to free any objects that were allocated by Xlib,
unless an alternate function is explicitly specified for the object.
@ -2798,7 +2798,7 @@ and
or other resources that the client has created
on this display, unless the close-down mode of the resource has been changed
(see
<function>XSetCloseDownMode</function>).
<xref linkend='XSetCloseDownMode' xrefstyle='select: title'/>).
Therefore, these windows, resource IDs, and other resources should never be
referenced again or an error will be generated.
Before exiting, you should call
@ -2806,7 +2806,7 @@ Before exiting, you should call
explicitly so that any pending errors are reported as
<function>XCloseDisplay</function>
performs a final
<function>XSync</function>
<xref linkend='XSync' xrefstyle='select: title'/>
operation.
<indexterm><primary>Resource IDs</primary></indexterm>
<indexterm><primary>XCloseDisplay</primary></indexterm>
@ -2824,11 +2824,11 @@ error.
Xlib provides a function to permit the resources owned by a client
to survive after the client's connection is closed.
To change a client's close-down mode, use
<function>XSetCloseDownMode</function>.
<xref linkend='XSetCloseDownMode' xrefstyle='select: title'/>.
<indexterm significance="preferred"><primary>XSetCloseDownMode</primary></indexterm>
<!-- .sM -->
</para>
<funcsynopsis id='xsetclosedownmode'>
<funcsynopsis id='XSetCloseDownMode'>
<funcprototype>
<funcdef>XSetCloseDownMode</funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -2867,7 +2867,7 @@ or
<!-- .LP -->
<!-- .eM -->
The
<function>XSetCloseDownMode</function>
<xref linkend='XSetCloseDownMode' xrefstyle='select: title'/>
defines what will happen to the client's resources at connection close.
A connection starts in
<symbol>DestroyAll</symbol>
@ -2877,18 +2877,18 @@ close_mode argument is
<symbol>RetainPermanent</symbol>
or
<symbol>RetainTemporary</symbol>,
see <link linkend="Using_X_Server_Connection_Close_Operations_">section 2.6</link>.
see <link linkend='Using_X_Server_Connection_Close_Operations'>section 2.6</link>.
</para>
<para>
<!-- .LP -->
<function>XSetCloseDownMode</function>
<xref linkend='XSetCloseDownMode' xrefstyle='select: title'/>
can generate a
<errorname>BadValue</errorname>
error.
</para>
</sect1>
<sect1 id="Using_X_Server_Connection_Close_Operations_">
<title>Using X Server Connection Close Operations </title>
<sect1 id='Using_X_Server_Connection_Close_Operations'>
<title>Using X Server Connection Close Operations</title>
<!-- .XS -->
<!-- (SN Using X Server Connection Close Operations -->
<!-- .XE -->
@ -2905,15 +2905,15 @@ automatic operations:
<para>
It disowns all selections owned by the client
(see
<function>XSetSelectionOwner</function>).
<xref linkend='XSetSelectionOwner' xrefstyle='select: title'/>).
</para>
</listitem>
<listitem>
<para>
It performs an
<function>XUngrabPointer</function>
<xref linkend='XUngrabPointer' xrefstyle='select: title'/>
and
<function>XUngrabKeyboard</function>
<xref linkend='XUngrabKeyboard' xrefstyle='select: title'/>
if the client has actively grabbed the pointer
or the keyboard.
</para>
@ -2921,7 +2921,7 @@ or the keyboard.
<listitem>
<para>
It performs an
<function>XUngrabServer</function>
<xref linkend='XUngrabServer' xrefstyle='select: title'/>
if the client has grabbed the server.
</para>
</listitem>
@ -2940,7 +2940,7 @@ or
<symbol>RetainTemporary</symbol>.
However, this does not prevent other client applications from explicitly
destroying the resources (see
<function>XSetCloseDownMode</function>).
<xref linkend='XSetCloseDownMode' xrefstyle='select: title'/>).
</para>
</listitem>
</itemizedlist>
@ -3144,7 +3144,7 @@ the display is unlocked by this thread.
Nested calls to
<function>XLockDisplay</function>
work correctly; the display will not actually be unlocked until
<function>XUnlockDisplay</function>
<xref linkend='XUnlockDisplay' xrefstyle='select: title'/>
has been called the same number of times as
<function>XLockDisplay</function>.
This function has no effect unless Xlib was successfully initialized
@ -3155,11 +3155,11 @@ for threads using
<!-- .LP -->
<!-- .sp -->
To unlock a display, use
<function>XUnlockDisplay</function>.
<xref linkend='XUnlockDisplay' xrefstyle='select: title'/>.
<indexterm significance="preferred"><primary>XUnlockDisplay</primary></indexterm>
<!-- .sM -->
</para>
<funcsynopsis id='xunlockdisplay'>
<funcsynopsis id='XUnlockDisplay'>
<funcprototype>
<funcdef>XUnlockDisplay</funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -3182,13 +3182,13 @@ Specifies the connection to the X server.
<!-- .LP -->
<!-- .eM -->
The
<function>XUnlockDisplay</function>
<xref linkend='XUnlockDisplay' xrefstyle='select: title'/>
function allows other threads to use the specified display again.
Any threads that have blocked on the display are allowed to continue.
Nested locking works correctly; if
<function>XLockDisplay</function>
has been called multiple times by a thread, then
<function>XUnlockDisplay</function>
<xref linkend='XUnlockDisplay' xrefstyle='select: title'/>
must be called an equal number of times before the display is
actually unlocked.
This function has no effect unless Xlib was successfully initialized
@ -3206,7 +3206,7 @@ for threads using
In addition to the connection to the X server, an Xlib implementation
may require connections to other kinds of servers (for example, to
input method servers as described in
<link linkend="locales_and_internationalized_text_functions">chapter 13</link>).
<link linkend='Locales_and_Internationalized_Text_Functions'>chapter 13</link>).
Toolkits and clients
that use multiple displays, or that use displays in combination with
other inputs, need to obtain these additional connections to correctly
@ -3218,7 +3218,7 @@ facilities.
<para>
<!-- .LP -->
To track internal connections for a display, use
<function>XAddConnectionWatch</function>.
<xref linkend='XAddConnectionWatch' xrefstyle='select: title'/>.
</para>
<funcsynopsis id='xconnectionwatch'>
<funcprototype>
@ -3231,7 +3231,7 @@ To track internal connections for a display, use
</funcprototype>
</funcsynopsis>
<funcsynopsis id='xaddconnectionwatch'>
<funcsynopsis id='XAddConnectionWatch'>
<funcprototype>
<funcdef>Status XAddConnectionWatch</funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -3276,7 +3276,7 @@ Specifies the additional client data.
<!-- .LP -->
<!-- .eM -->
The
<function>XAddConnectionWatch</function>
<xref linkend='XAddConnectionWatch' xrefstyle='select: title'/>
function registers a procedure to be called each time Xlib opens or closes an
internal connection for the specified display. The procedure is passed the
display, the specified client_data, the file descriptor for the connection,
@ -3294,9 +3294,9 @@ the location pointed to by watch_data will hold this same private data pointer.
This function can be called at any time after a display is opened.
If internal connections already exist, the registered procedure will
immediately be called for each of them, before
<function>XAddConnectionWatch</function>
<xref linkend='XAddConnectionWatch' xrefstyle='select: title'/>
returns.
<function>XAddConnectionWatch</function>
<xref linkend='XAddConnectionWatch' xrefstyle='select: title'/>
returns a nonzero status if the procedure is successfully registered;
otherwise, it returns zero.
</para>
@ -3377,14 +3377,14 @@ was initially registered.
<!-- .LP -->
<!-- .sp -->
To process input on an internal connection, use
<function>XProcessInternalConnection</function>.
<xref linkend='XProcessInternalConnection' xrefstyle='select: title'/>.
<indexterm significance="preferred"><primary>XProcessInternalConnection</primary></indexterm>
<!-- .sM -->
</para>
<para>
()
</para>
<funcsynopsis id='xprocessinternalconnection'>
<funcsynopsis id='XProcessInternalConnection'>
<funcprototype>
<funcdef>void <function>XProcessInternalConnection</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -3418,7 +3418,7 @@ Specifies the file descriptor.
<!-- .LP -->
<!-- .eM -->
The
<function>XProcessInternalConnection</function>
<xref linkend='XProcessInternalConnection' xrefstyle='select: title'/>
function processes input available on an internal connection.
This function should be called for an internal connection only
after an operating system facility (for example,
@ -3432,14 +3432,14 @@ the effect is not defined.
<!-- .LP -->
<!-- .sp -->
To obtain all of the current internal connections for a display, use
<function>XInternalConnectionNumbers</function>.
<xref linkend='XInternalConnectionNumbers' xrefstyle='select: title'/>.
<indexterm significance="preferred"><primary>XInternalConnectionNumbers</primary></indexterm>
<!-- .sM -->
</para>
<para>
()
</para>
<funcsynopsis id='xinternalconnectionnumbers'>
<funcsynopsis id='XInternalConnectionNumbers'>
<funcprototype>
<funcdef>Status <function>XInternalConnectionNumbers</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -3485,12 +3485,12 @@ Returns the number of (Cn.
<!-- .LP -->
<!-- .eM -->
The
<function>XInternalConnectionNumbers</function>
<xref linkend='XInternalConnectionNumbers' xrefstyle='select: title'/>
function returns a list of the file descriptors for all internal
connections currently open for the specified display.
When the allocated list is no longer needed,
free it by using
<function>XFree</function>.
<xref linkend='XFree' xrefstyle='select: title'/>.
This functions returns a nonzero status if the list is successfully allocated;
otherwise, it returns zero.
</para>

File diff suppressed because it is too large Load diff

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
<chapter id="window_information_functions">
<chapter id='Window_Information_Functions'>
<title>Window Information Functions</title>
<para>
@ -35,13 +35,13 @@ exists.
<!-- .sp -->
To obtain the parent, a list of children, and number of children for
a given window, use
<function>XQueryTree</function>.
<xref linkend='XQueryTree' xrefstyle='select: title'/>.
</para>
<indexterm><primary>Child Window</primary></indexterm>
<indexterm><primary>Parent Window</primary></indexterm>
<indexterm significance="preferred"><primary>XQueryTree</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xquerytree'>
<funcsynopsis id='XQueryTree'>
<funcprototype>
<funcdef>Status <function>XQueryTree</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -121,21 +121,21 @@ Returns the number of children.
<!-- .LP -->
<!-- .eM -->
The
<function>XQueryTree</function>
<xref linkend='XQueryTree' xrefstyle='select: title'/>
function returns the root ID, the parent window ID,
a pointer to the list of children windows
(NULL when there are no children),
and the number of children in the list for the specified window.
The children are listed in current stacking order, from bottom-most
(first) to top-most (last).
<function>XQueryTree</function>
<xref linkend='XQueryTree' xrefstyle='select: title'/>
returns zero if it fails and nonzero if it succeeds.
To free a non-NULL children list when it is no longer needed, use
<function>XFree</function>.
<xref linkend='XFree' xrefstyle='select: title'/>.
</para>
<para>
<!-- .LP -->
<function>XQueryTree</function>
<xref linkend='XQueryTree' xrefstyle='select: title'/>
can generate a
<errorname>BadWindow</errorname>
error.
@ -144,11 +144,11 @@ error.
<!-- .LP -->
<!-- .sp -->
To obtain the current attributes of a given window, use
<function>XGetWindowAttributes</function>.
<xref linkend='XGetWindowAttributes' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XGetWindowAttributes</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xgetwindowattributes'>
<funcsynopsis id='XGetWindowAttributes'>
<funcprototype>
<funcdef>Status <function>XGetWindowAttributes</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -196,7 +196,7 @@ structure.
<!-- .LP -->
<!-- .eM -->
The
<function>XGetWindowAttributes</function>
<xref linkend='XGetWindowAttributes' xrefstyle='select: title'/>
function returns the current attributes for the specified window to an
<structname>XWindowAttributes</structname>
structure.
@ -358,7 +358,7 @@ having to loop over the root window fields to see which field matches.
</para>
<para>
<!-- .LP -->
<function>XGetWindowAttributes</function>
<xref linkend='XGetWindowAttributes' xrefstyle='select: title'/>
can generate
<errorname>BadDrawable</errorname>
and
@ -369,11 +369,11 @@ errors.
<!-- .LP -->
<!-- .sp -->
To obtain the current geometry of a given drawable, use
<function>XGetGeometry</function>.
<xref linkend='XGetGeometry' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XGetGeometry</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xgetgeometry'>
<funcsynopsis id='XGetGeometry'>
<funcprototype>
<funcdef>Status <function>XGetGeometry</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -492,7 +492,7 @@ Returns the depth of the drawable (bits per pixel for the object).
<!-- .LP -->
<!-- .eM -->
The
<function>XGetGeometry</function>
<xref linkend='XGetGeometry' xrefstyle='select: title'/>
function returns the root window and the current geometry of the drawable.
The geometry of the drawable includes the x and y coordinates, width and height,
border width, and depth.
@ -502,7 +502,7 @@ It is legal to pass to this function a window whose class is
</para>
<para>
<!-- .LP -->
<function>XGetGeometry</function>
<xref linkend='XGetGeometry' xrefstyle='select: title'/>
can generate a
<errorname>BadDrawable</errorname>
error.
@ -519,9 +519,9 @@ Applications sometimes
need to perform a coordinate transformation from the coordinate
space of one window to another window or need to determine which
window the pointing device is in.
<function>XTranslateCoordinates</function>
<xref linkend='XTranslateCoordinates' xrefstyle='select: title'/>
and
<function>XQueryPointer</function>
<xref linkend='XQueryPointer' xrefstyle='select: title'/>
fulfill these needs (and avoid any race conditions) by
asking the X server to perform these operations.
</para>
@ -530,11 +530,11 @@ asking the X server to perform these operations.
<!-- .sp -->
To translate a coordinate in one window to the coordinate
space of another window, use
<function>XTranslateCoordinates</function>.
<xref linkend='XTranslateCoordinates' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XTranslateCoordinates</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xtranslatecoordinates'>
<funcsynopsis id='XTranslateCoordinates'>
<funcprototype>
<funcdef>Bool <function>XTranslateCoordinates</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -634,7 +634,7 @@ destination window.
<!-- .LP -->
<!-- .eM -->
If
<function>XTranslateCoordinates</function>
<xref linkend='XTranslateCoordinates' xrefstyle='select: title'/>
returns
<symbol>True</symbol>,
it takes the src_x and src_y coordinates relative
@ -642,7 +642,7 @@ to the source window's origin and returns these coordinates to
dest_x_return and dest_y_return
relative to the destination window's origin.
If
<function>XTranslateCoordinates</function>
<xref linkend='XTranslateCoordinates' xrefstyle='select: title'/>
returns
<symbol>False</symbol>,
src_w and dest_w are on different screens,
@ -654,7 +654,7 @@ Otherwise, child_return is set to
</para>
<para>
<!-- .LP -->
<function>XTranslateCoordinates</function>
<xref linkend='XTranslateCoordinates' xrefstyle='select: title'/>
can generate a
<errorname>BadWindow</errorname>
error.
@ -664,11 +664,11 @@ error.
<!-- .sp -->
To obtain the screen coordinates of the pointer
or to determine the pointer coordinates relative to a specified window, use
<function>XQueryPointer</function>.
<xref linkend='XQueryPointer' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XQueryPointer</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xquerypointer'>
<funcsynopsis id='XQueryPointer'>
<funcprototype>
<funcdef>Bool <function>XQueryPointer</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -779,26 +779,26 @@ Returns the current state of the modifier keys and pointer buttons.
<!-- .LP -->
<!-- .eM -->
The
<function>XQueryPointer</function>
<xref linkend='XQueryPointer' xrefstyle='select: title'/>
function returns the root window the pointer is logically on and the pointer
coordinates relative to the root window's origin.
If
<function>XQueryPointer</function>
<xref linkend='XQueryPointer' xrefstyle='select: title'/>
returns
<symbol>False</symbol>,
the pointer is not on the same screen as the specified window, and
<function>XQueryPointer</function>
<xref linkend='XQueryPointer' xrefstyle='select: title'/>
returns
<symbol>None</symbol>
to child_return and zero to win_x_return and win_y_return.
If
<function>XQueryPointer</function>
<xref linkend='XQueryPointer' xrefstyle='select: title'/>
returns
<symbol>True</symbol>,
the pointer coordinates returned to win_x_return and win_y_return
are relative to the origin of the specified window.
In this case,
<function>XQueryPointer</function>
<xref linkend='XQueryPointer' xrefstyle='select: title'/>
returns the child that contains the pointer, if any,
or else
<symbol>None</symbol>
@ -806,7 +806,7 @@ to child_return.
</para>
<para>
<!-- .LP -->
<function>XQueryPointer</function>
<xref linkend='XQueryPointer' xrefstyle='select: title'/>
returns the current logical state of the keyboard buttons
and the modifier keys in mask_return.
It sets mask_return to the bitwise inclusive OR of one or more
@ -817,11 +817,11 @@ the current state of the mouse buttons and the modifier keys.
<!-- .LP -->
Note that the logical state of a device (as seen through Xlib)
may lag the physical state if device event processing is frozen
(see <link linkend="Pointer_Grabbing_">section 12.1</link>).
(see <link linkend='Pointer_Grabbing'>section 12.1</link>).
</para>
<para>
<!-- .LP -->
<function>XQueryPointer</function>
<xref linkend='XQueryPointer' xrefstyle='select: title'/>
can generate a
<errorname>BadWindow</errorname>
error.
@ -851,7 +851,7 @@ property name.
Clients can store and retrieve properties associated with windows.
For efficiency reasons,
an atom is used rather than a character string.
<function>XInternAtom</function>
<xref linkend='XInternAtom' xrefstyle='select: title'/>
can be used to obtain the atom for property names.
<indexterm><primary>Atom</primary></indexterm>
</para>
@ -887,7 +887,7 @@ To avoid name clashes with user symbols, the
name for each atom has the XA_ prefix.
For an explanation of the functions that let you get and set
much of the information stored in these predefined properties,
see <link linkend="inter_client_communication_functions">chapter 14</link>.
see <link linkend='Inter_Client_Communication_Functions'>chapter 14</link>.
</para>
<para>
<!-- .LP -->
@ -1046,12 +1046,12 @@ see <link linkend="Font_Metrics">section 8.5</link>.
<!-- .LP -->
<!-- .sp -->
To return an atom for a given name, use
<function>XInternAtom</function>.
<xref linkend='XInternAtom' xrefstyle='select: title'/>.
</para>
<indexterm><primary>Atom</primary><secondary>interning</secondary></indexterm>
<indexterm significance="preferred"><primary>XInternAtom</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xinternatom'>
<funcsynopsis id='XInternAtom'>
<funcprototype>
<funcdef>Atom <function>XInternAtom</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1096,14 +1096,14 @@ Specifies a Boolean value that indicates whether the atom must be created.
<!-- .LP -->
<!-- .eM -->
The
<function>XInternAtom</function>
<xref linkend='XInternAtom' xrefstyle='select: title'/>
function returns the atom identifier associated with the specified atom_name
string.
If only_if_exists is
<symbol>False</symbol>,
the atom is created if it does not exist.
Therefore,
<function>XInternAtom</function>
<xref linkend='XInternAtom' xrefstyle='select: title'/>
can return
<symbol>None</symbol>.
If the atom name is not in the Host Portable Character Encoding,
@ -1117,7 +1117,7 @@ the X server closes.
</para>
<para>
<!-- .LP -->
<function>XInternAtom</function>
<xref linkend='XInternAtom' xrefstyle='select: title'/>
can generate
<errorname>BadAlloc</errorname>
and
@ -1128,12 +1128,12 @@ errors.
<!-- .LP -->
<!-- .sp -->
To return atoms for an array of names, use
<function>XInternAtoms</function>.
<xref linkend='XInternAtoms' xrefstyle='select: title'/>.
</para>
<indexterm><primary>Atom</primary><secondary>interning</secondary></indexterm>
<indexterm significance="preferred"><primary>XInternAtoms</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xinternatoms'>
<funcsynopsis id='XInternAtoms'>
<funcprototype>
<funcdef>Status <function>XInternAtoms</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1201,11 +1201,11 @@ Returns the atoms.
<!-- .LP -->
<!-- .eM -->
The
<function>XInternAtoms</function>
<xref linkend='XInternAtoms' xrefstyle='select: title'/>
function returns the atom identifiers associated with the specified names.
The atoms are stored in the atoms_return array supplied by the caller.
Calling this function is equivalent to calling
<function>XInternAtom</function>
<xref linkend='XInternAtom' xrefstyle='select: title'/>
for each of the names in turn with the specified value of only_if_exists,
but this function minimizes the number of round-trip protocol exchanges
between the client and the X server.
@ -1218,7 +1218,7 @@ otherwise, it returns zero.
</para>
<para>
<!-- .LP -->
<function>XInternAtoms</function>
<xref linkend='XInternAtoms' xrefstyle='select: title'/>
can generate
<errorname>BadAlloc</errorname>
and
@ -1229,12 +1229,12 @@ errors.
<!-- .LP -->
<!-- .sp -->
To return a name for a given atom identifier, use
<function>XGetAtomName</function>.
<xref linkend='XGetAtomName' xrefstyle='select: title'/>.
</para>
<indexterm><primary>Atom</primary><secondary>getting name</secondary></indexterm>
<indexterm significance="preferred"><primary>XGetAtomName</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xgetatomname'>
<funcsynopsis id='XGetAtomName'>
<funcprototype>
<funcdef>char *<function>XGetAtomName</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1268,18 +1268,18 @@ Specifies the atom for the property name you want returned.
<!-- .LP -->
<!-- .eM -->
The
<function>XGetAtomName</function>
<xref linkend='XGetAtomName' xrefstyle='select: title'/>
function returns the name associated with the specified atom.
If the data returned by the server is in the Latin Portable Character Encoding,
then the returned string is in the Host Portable Character Encoding.
Otherwise, the result is implementation-dependent.
To free the resulting string,
call
<function>XFree</function>.
<xref linkend='XFree' xrefstyle='select: title'/>.
</para>
<para>
<!-- .LP -->
<function>XGetAtomName</function>
<xref linkend='XGetAtomName' xrefstyle='select: title'/>
can generate a
<errorname>BadAtom</errorname>
error.
@ -1288,12 +1288,12 @@ error.
<!-- .LP -->
<!-- .sp -->
To return the names for an array of atom identifiers, use
<function>XGetAtomNames</function>.
<xref linkend='XGetAtomNames' xrefstyle='select: title'/>.
</para>
<indexterm><primary>Atom</primary><secondary>getting name</secondary></indexterm>
<indexterm significance="preferred"><primary>XGetAtomNames</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xgetatomnames'>
<funcsynopsis id='XGetAtomNames'>
<funcprototype>
<funcdef>Status <function>XGetAtomNames</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1350,11 +1350,11 @@ Returns the atom names.
<!-- .LP -->
<!-- .eM -->
The
<function>XGetAtomNames</function>
<xref linkend='XGetAtomNames' xrefstyle='select: title'/>
function returns the names associated with the specified atoms.
The names are stored in the names_return array supplied by the caller.
Calling this function is equivalent to calling
<function>XGetAtomName</function>
<xref linkend='XGetAtomName' xrefstyle='select: title'/>
for each of the atoms in turn,
but this function minimizes the number of round-trip protocol exchanges
between the client and the X server.
@ -1367,7 +1367,7 @@ otherwise, it returns zero.
</para>
<para>
<!-- .LP -->
<function>XGetAtomNames</function>
<xref linkend='XGetAtomNames' xrefstyle='select: title'/>
can generate a
<errorname>BadAtom</errorname>
error.
@ -1398,19 +1398,19 @@ Xlib provides functions that you can use to obtain,
change, update, or interchange window properties.
In addition, Xlib provides other utility functions for inter-client
communication
(see <link linkend="inter_client_communication_functions">chapter 14</link>).
(see <link linkend='Inter_Client_Communication_Functions'>chapter 14</link>).
</para>
<para>
<!-- .LP -->
<!-- .sp -->
To obtain the type, format, and value of a property of a given window, use
<function>XGetWindowProperty</function>.
<xref linkend='XGetWindowProperty' xrefstyle='select: title'/>.
<indexterm><primary>Property</primary><secondary>getting</secondary></indexterm>
</para>
<!-- .LP -->
<indexterm significance="preferred"><primary>XGetWindowProperty</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xgetwindowproperty'>
<funcsynopsis id='XGetWindowProperty'>
<funcprototype>
<funcdef>int <function>XGetWindowProperty</function></funcdef>
<paramdef><parameter> display</parameter></paramdef>
@ -1559,18 +1559,18 @@ Returns the data in the specified format.
<!-- .LP -->
<!-- .eM -->
The
<function>XGetWindowProperty</function>
<xref linkend='XGetWindowProperty' xrefstyle='select: title'/>
function returns the actual type of the property; the actual format of the property;
the number of 8-bit, 16-bit, or 32-bit items transferred; the number of bytes remaining
to be read in the property; and a pointer to the data actually returned.
<function>XGetWindowProperty</function>
<xref linkend='XGetWindowProperty' xrefstyle='select: title'/>
sets the return arguments as follows:
</para>
<itemizedlist>
<listitem>
<para>
If the specified property does not exist for the specified window,
<function>XGetWindowProperty</function>
<xref linkend='XGetWindowProperty' xrefstyle='select: title'/>
returns
<symbol>None</symbol>
to actual_type_return and the value zero to
@ -1583,7 +1583,7 @@ In this case, the delete argument is ignored.
<para>
If the specified property exists
but its type does not match the specified type,
<function>XGetWindowProperty</function>
<xref linkend='XGetWindowProperty' xrefstyle='select: title'/>
returns the actual property type to actual_type_return,
the actual property format (never zero) to actual_format_return,
and the property length in bytes
@ -1598,7 +1598,7 @@ The nitems_return argument is empty.
If the specified property exists and either you assign
<symbol>AnyPropertyType</symbol>
to the req_type argument or the specified type matches the actual property type,
<function>XGetWindowProperty</function>
<xref linkend='XGetWindowProperty' xrefstyle='select: title'/>
returns the actual property type to actual_type_return and the actual
property format (never zero) to actual_format_return.
It also returns a value to bytes_after_return and nitems_return, by
@ -1645,7 +1645,7 @@ array and should be cast to that type to obtain the elements.
</para>
<para>
<!-- .LP -->
<function>XGetWindowProperty</function>
<xref linkend='XGetWindowProperty' xrefstyle='select: title'/>
always allocates one extra byte in prop_return
(even if the property is zero length)
and sets it to zero so that simple properties consisting of characters
@ -1656,7 +1656,7 @@ do not have to be copied into yet another string before use.
If delete is
<symbol>True</symbol>
and bytes_after_return is zero,
<function>XGetWindowProperty</function>
<xref linkend='XGetWindowProperty' xrefstyle='select: title'/>
deletes the property
from the window and generates a
<symbol>PropertyNotify</symbol>
@ -1669,11 +1669,11 @@ The function returns
if it executes successfully.
To free the resulting data,
use
<function>XFree</function>.
<xref linkend='XFree' xrefstyle='select: title'/>.
</para>
<para>
<!-- .LP -->
<function>XGetWindowProperty</function>
<xref linkend='XGetWindowProperty' xrefstyle='select: title'/>
can generate
<errorname>BadAtom</errorname>,
<errorname>BadValue</errorname>,
@ -1685,12 +1685,12 @@ errors.
<!-- .LP -->
<!-- .sp -->
To obtain a given window's property list, use
<function>XListProperties</function>.
<xref linkend='XListProperties' xrefstyle='select: title'/>.
</para>
<indexterm><primary>Property</primary><secondary>listing</secondary></indexterm>
<indexterm significance="preferred"><primary>XListProperties</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xlistproperties'>
<funcsynopsis id='XListProperties'>
<funcprototype>
<funcdef>Atom *<function>XListProperties</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1736,15 +1736,15 @@ Returns the length of the properties array.
<!-- .LP -->
<!-- .eM -->
The
<function>XListProperties</function>
<xref linkend='XListProperties' xrefstyle='select: title'/>
function returns a pointer to an array of atom properties that are defined for
the specified window or returns NULL if no properties were found.
To free the memory allocated by this function, use
<function>XFree</function>.
<xref linkend='XFree' xrefstyle='select: title'/>.
</para>
<para>
<!-- .LP -->
<function>XListProperties</function>
<xref linkend='XListProperties' xrefstyle='select: title'/>
can generate a
<errorname>BadWindow</errorname>
error.
@ -1753,7 +1753,7 @@ error.
<!-- .LP -->
<!-- .sp -->
To change a property of a given window, use
<function>XChangeProperty</function>.
<xref linkend='XChangeProperty' xrefstyle='select: title'/>.
</para>
<indexterm><primary>Property</primary><secondary>changing</secondary></indexterm>
<indexterm><primary>Property</primary><secondary>appending</secondary></indexterm>
@ -1763,7 +1763,7 @@ To change a property of a given window, use
<indexterm><primary>Property</primary><secondary>type</secondary></indexterm>
<indexterm significance="preferred"><primary>XChangeProperty</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xchangeproperty'>
<funcsynopsis id='XChangeProperty'>
<funcprototype>
<funcdef><function>XChangeProperty</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1817,7 +1817,7 @@ Specifies the property name.
Specifies the type of the property.
The X server does not interpret the type but simply
passes it back to an application that later calls
<function>XGetWindowProperty</function>.
<xref linkend='XGetWindowProperty' xrefstyle='select: title'/>.
</para>
</listitem>
</varlistentry>
@ -1835,7 +1835,7 @@ byte-swap operations as necessary.
If the format is 16-bit or 32-bit,
you must explicitly cast your data pointer to an (unsigned char *) in the call
to
<function>XChangeProperty</function>.
<xref linkend='XChangeProperty' xrefstyle='select: title'/>.
<!-- .\" Changed name of this file to prop_mode.a on 1/13/87 -->
</para>
</listitem>
@ -1880,12 +1880,12 @@ Specifies the number of elements of the specified data format.
<!-- .LP -->
<!-- .eM -->
The
<function>XChangeProperty</function>
<xref linkend='XChangeProperty' xrefstyle='select: title'/>
function alters the property for the specified window and
causes the X server to generate a
<symbol>PropertyNotify</symbol>
event on that window.
<function>XChangeProperty</function>
<xref linkend='XChangeProperty' xrefstyle='select: title'/>
performs the following:
</para>
<itemizedlist>
@ -1893,7 +1893,7 @@ performs the following:
<para>
If mode is
<symbol>PropModeReplace</symbol>,
<function>XChangeProperty</function>
<xref linkend='XChangeProperty' xrefstyle='select: title'/>
discards the previous property value and stores the new data.
</para>
</listitem>
@ -1903,7 +1903,7 @@ If mode is
<symbol>PropModePrepend</symbol>
or
<symbol>PropModeAppend</symbol>,
<function>XChangeProperty</function>
<xref linkend='XChangeProperty' xrefstyle='select: title'/>
inserts the specified data before the beginning of the existing data
or onto the end of the existing data, respectively.
The type and format must match the existing property value,
@ -1934,7 +1934,7 @@ The lifetime of a property is not tied to the storing client.
Properties remain until explicitly deleted, until the window is destroyed,
or until the server resets.
For a discussion of what happens when the connection to the X server is closed,
see <link linkend="Using_X_Server_Connection_Close_Operations_">section 2.6</link>.
see <link linkend='Using_X_Server_Connection_Close_Operations'>section 2.6</link>.
The maximum size of a property is server dependent and can vary dynamically
depending on the amount of memory the server has available.
(If there is insufficient space, a
@ -1943,7 +1943,7 @@ error results.)
</para>
<para>
<!-- .LP -->
<function>XChangeProperty</function>
<xref linkend='XChangeProperty' xrefstyle='select: title'/>
can generate
<errorname>BadAlloc</errorname>,
<errorname>BadAtom</errorname>,
@ -1957,12 +1957,12 @@ errors.
<!-- .LP -->
<!-- .sp -->
To rotate a window's property list, use
<function>XRotateWindowProperties</function>.
<xref linkend='XRotateWindowProperties' xrefstyle='select: title'/>.
</para>
<!-- .LP -->
<indexterm significance="preferred"><primary>XRotateWindowProperties</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xrotatewindowproperties'>
<funcsynopsis id='XRotateWindowProperties'>
<funcprototype>
<funcdef><function>XRotateWindowProperties</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -2029,7 +2029,7 @@ Specifies the rotation amount.
<!-- .LP -->
<!-- .eM -->
The
<function>XRotateWindowProperties</function>
<xref linkend='XRotateWindowProperties' xrefstyle='select: title'/>
function allows you to rotate properties on a window and causes
the X server to generate
<symbol>PropertyNotify</symbol>
@ -2059,7 +2059,7 @@ no properties are changed.
</para>
<para>
<!-- .LP -->
<function>XRotateWindowProperties</function>
<xref linkend='XRotateWindowProperties' xrefstyle='select: title'/>
can generate
<errorname>BadAtom</errorname>,
<errorname>BadMatch</errorname>,
@ -2071,12 +2071,12 @@ errors.
<!-- .LP -->
<!-- .sp -->
To delete a property on a given window, use
<function>XDeleteProperty</function>.
<xref linkend='XDeleteProperty' xrefstyle='select: title'/>.
</para>
<indexterm><primary>Property</primary><secondary>deleting</secondary></indexterm>
<indexterm significance="preferred"><primary>XDeleteProperty</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xdeleteproperty'>
<funcsynopsis id='XDeleteProperty'>
<funcprototype>
<funcdef><function>XDeleteProperty</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -2122,7 +2122,7 @@ Specifies the property name.
<!-- .LP -->
<!-- .eM -->
The
<function>XDeleteProperty</function>
<xref linkend='XDeleteProperty' xrefstyle='select: title'/>
function deletes the specified property only if the
property was defined on the specified window
and causes the X server to generate a
@ -2131,7 +2131,7 @@ event on the window unless the property does not exist.
</para>
<para>
<!-- .LP -->
<function>XDeleteProperty</function>
<xref linkend='XDeleteProperty' xrefstyle='select: title'/>
can generate
<errorname>BadAtom</errorname>
and
@ -2194,12 +2194,12 @@ The protocol does not constrain the semantics.
<!-- .LP -->
<!-- .sp -->
To set the selection owner, use
<function>XSetSelectionOwner</function>.
<xref linkend='XSetSelectionOwner' xrefstyle='select: title'/>.
</para>
<indexterm><primary>Selection</primary><secondary>setting the owner</secondary></indexterm>
<indexterm significance="preferred"><primary>XSetSelectionOwner</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xsetselectionowner'>
<funcsynopsis id='XSetSelectionOwner'>
<funcprototype>
<funcdef><function>XSetSelectionOwner</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -2259,7 +2259,7 @@ You can pass either a timestamp or
<!-- .LP -->
<!-- .eM -->
The
<function>XSetSelectionOwner</function>
<xref linkend='XSetSelectionOwner' xrefstyle='select: title'/>
function changes the owner and last-change time for the specified selection
and has no effect if the specified time is earlier than the current
last-change time of the specified selection
@ -2296,7 +2296,7 @@ reverts to
<symbol>None</symbol>,
but the last-change time is not affected.
The selection atom is uninterpreted by the X server.
<function>XGetSelectionOwner</function>
<xref linkend='XGetSelectionOwner' xrefstyle='select: title'/>
returns the owner window, which is reported in
<symbol>SelectionRequest</symbol>
and
@ -2306,7 +2306,7 @@ Selections are global to the X server.
</para>
<para>
<!-- .LP -->
<function>XSetSelectionOwner</function>
<xref linkend='XSetSelectionOwner' xrefstyle='select: title'/>
can generate
<errorname>BadAtom</errorname>
and
@ -2317,12 +2317,12 @@ errors.
<!-- .LP -->
<!-- .sp -->
To return the selection owner, use
<function>XGetSelectionOwner</function>.
<xref linkend='XGetSelectionOwner' xrefstyle='select: title'/>.
</para>
<indexterm><primary>Selection</primary><secondary>getting the owner</secondary></indexterm>
<indexterm significance="preferred"><primary>XGetSelectionOwner</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xgetselectionowner'>
<funcsynopsis id='XGetSelectionOwner'>
<funcprototype>
<funcdef>Window <function>XGetSelectionOwner</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -2357,7 +2357,7 @@ Specifies the selection atom (Se.
<!-- .LP -->
<!-- .eM -->
The
<function>XGetSelectionOwner</function>
<xref linkend='XGetSelectionOwner' xrefstyle='select: title'/>
function
returns the window ID associated with the window that currently owns the
specified selection.
@ -2370,7 +2370,7 @@ there is no owner for the selection.
</para>
<para>
<!-- .LP -->
<function>XGetSelectionOwner</function>
<xref linkend='XGetSelectionOwner' xrefstyle='select: title'/>
can generate a
<errorname>BadAtom</errorname>
error.
@ -2379,12 +2379,12 @@ error.
<!-- .LP -->
<!-- .sp -->
To request conversion of a selection, use
<function>XConvertSelection</function>.
<xref linkend='XConvertSelection' xrefstyle='select: title'/>.
</para>
<indexterm><primary>Selection</primary><secondary>converting</secondary></indexterm>
<indexterm significance="preferred"><primary>XConvertSelection</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xconvertselection'>
<funcsynopsis id='XConvertSelection'>
<funcprototype>
<funcdef><function>XConvertSelection</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -2464,7 +2464,7 @@ You can pass either a timestamp or
<para>
<!-- .LP -->
<!-- .eM -->
<function>XConvertSelection</function>
<xref linkend='XConvertSelection' xrefstyle='select: title'/>
requests that the specified selection be converted to the specified target
type:
</para>
@ -2494,7 +2494,7 @@ There are two predefined selection atoms: PRIMARY and SECONDARY.
</para>
<para>
<!-- .LP -->
<function>XConvertSelection</function>
<xref linkend='XConvertSelection' xrefstyle='select: title'/>
can generate
<errorname>BadAtom</errorname>
and

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
<chapter id="pixmap_and_cursor_functions">
<chapter id='Pixmap_and_Cursor_Functions'>
<title>Pixmap and Cursor Functions</title>
<sect1 id="Creating_and_Freeing_Pixmaps">
<title>Creating and Freeing Pixmaps</title>
@ -21,11 +21,11 @@ A bitmap is a single bit-plane pixmap.
<!-- .LP -->
<!-- .sp -->
To create a pixmap of a given size, use
<function>XCreatePixmap</function>.
<xref linkend='XCreatePixmap' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XCreatePixmap</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xcreatepixmap'>
<funcsynopsis id='XCreatePixmap'>
<funcprototype>
<funcdef>Pixmap <function>XCreatePixmap</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -93,7 +93,7 @@ Specifies the depth of the pixmap.
<!-- .LP -->
<!-- .eM -->
The
<function>XCreatePixmap</function>
<xref linkend='XCreatePixmap' xrefstyle='select: title'/>
function creates a pixmap of the width, height, and depth you specified
and returns a pixmap ID that identifies it.
It is valid to pass an
@ -115,13 +115,13 @@ The server uses the specified drawable to determine on which screen
to create the pixmap.
The pixmap can be used only on this screen
and only with other drawables of the same depth (see
<function>XCopyPlane</function>
<xref linkend='XCopyPlane' xrefstyle='select: title'/>
for an exception to this rule).
The initial contents of the pixmap are undefined.
</para>
<para>
<!-- .LP -->
<function>XCreatePixmap</function>
<xref linkend='XCreatePixmap' xrefstyle='select: title'/>
can generate
<errorname>BadAlloc</errorname>,
<errorname>BadDrawable</errorname>,
@ -133,11 +133,11 @@ errors.
<!-- .LP -->
<!-- .sp -->
To free all storage associated with a specified pixmap, use
<function>XFreePixmap</function>.
<xref linkend='XFreePixmap' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XFreePixmap</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xfreepixmap'>
<funcsynopsis id='XFreePixmap'>
<funcprototype>
<funcdef><function>XFreePixmap</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -171,14 +171,14 @@ Specifies the pixmap.
<!-- .LP -->
<!-- .eM -->
The
<function>XFreePixmap</function>
<xref linkend='XFreePixmap' xrefstyle='select: title'/>
function first deletes the association between the pixmap ID and the pixmap.
Then, the X server frees the pixmap storage when there are no references to it.
The pixmap should never be referenced again.
</para>
<para>
<!-- .LP -->
<function>XFreePixmap</function>
<xref linkend='XFreePixmap' xrefstyle='select: title'/>
can generate a
<errorname>BadPixmap</errorname>
error.
@ -210,7 +210,7 @@ when a pointer event occurs.
There may be limitations imposed by the hardware on
cursors as to size and whether a mask is implemented.
<indexterm><primary>XQueryBestCursor</primary></indexterm>
<function>XQueryBestCursor</function>
<xref linkend='XQueryBestCursor' xrefstyle='select: title'/>
can be used to find out what sizes are possible.
There is a standard font for creating cursors, but
Xlib provides functions that you can use to create cursors
@ -220,7 +220,7 @@ from an arbitrary font or from bitmaps.
<!-- .LP -->
<!-- .sp -->
To create a cursor from the standard cursor font, use
<function>XCreateFontCursor</function>.
<xref linkend='XCreateFontCursor' xrefstyle='select: title'/>.
</para>
<para>
#include &lt;X11/cursorfont.h&gt;
@ -228,7 +228,7 @@ To create a cursor from the standard cursor font, use
<indexterm significance="preferred"><primary>XCreateFontCursor</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xcreatefontcursor'>
<funcsynopsis id='XCreateFontCursor'>
<funcprototype>
<funcdef>Cursor <function>XCreateFontCursor</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -275,13 +275,13 @@ to use.
The hotspot comes from the information stored in the cursor font.
The initial colors of a cursor are a black foreground and a white
background (see
<function>XRecolorCursor</function>).
<xref linkend='XRecolorCursor' xrefstyle='select: title'/>).
For further information about cursor shapes,
see <link linkend="x_font_cursors">appendix B</link>.
</para>
<para>
<!-- .LP -->
<function>XCreateFontCursor</function>
<xref linkend='XCreateFontCursor' xrefstyle='select: title'/>
can generate
<errorname>BadAlloc</errorname>
and
@ -292,11 +292,11 @@ errors.
<!-- .LP -->
<!-- .sp -->
To create a cursor from font glyphs, use
<function>XCreateGlyphCursor</function>.
<xref linkend='XCreateGlyphCursor' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XCreateGlyphCursor</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xcreateglyphcursor'>
<funcsynopsis id='XCreateGlyphCursor'>
<funcprototype>
<funcdef>Cursor <function>XCreateGlyphCursor</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -384,9 +384,9 @@ Specifies the <acronym>RGB</acronym> values for the background of the source.
<!-- .LP -->
<!-- .eM -->
The
<function>XCreateGlyphCursor</function>
<xref linkend='XCreateGlyphCursor' xrefstyle='select: title'/>
function is similar to
<function>XCreatePixmapCursor</function>
<xref linkend='XCreatePixmapCursor' xrefstyle='select: title'/>
except that the source and mask bitmaps are obtained from the specified
font glyphs.
The source_char must be a defined glyph in source_font,
@ -406,7 +406,7 @@ and there is no restriction on the placement of the hotspot relative to the boun
boxes.
If no mask_char is given, all pixels of the source are displayed.
You can free the fonts immediately by calling
<function>XFreeFont</function>
<xref linkend='XFreeFont' xrefstyle='select: title'/>
if no further explicit references to them are to be made.
</para>
<para>
@ -418,7 +418,7 @@ least significant byte.
</para>
<para>
<!-- .LP -->
<function>XCreateGlyphCursor</function>
<xref linkend='XCreateGlyphCursor' xrefstyle='select: title'/>
can generate
<errorname>BadAlloc</errorname>,
<errorname>BadFont</errorname>,
@ -431,11 +431,11 @@ errors.
<!-- .sp -->
To create a cursor from two bitmaps,
use
<function>XCreatePixmapCursor</function>.
<xref linkend='XCreatePixmapCursor' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XCreatePixmapCursor</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xcreatepixmapcursor'>
<funcsynopsis id='XCreatePixmapCursor'>
<funcprototype>
<funcdef>Cursor <function>XCreatePixmapCursor</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -527,7 +527,7 @@ Specify the x and y coordinates(Xy.
<!-- .LP -->
<!-- .eM -->
The
<function>XCreatePixmapCursor</function>
<xref linkend='XCreatePixmapCursor' xrefstyle='select: title'/>
function creates a cursor and returns the cursor ID associated with it.
The foreground and background <acronym>RGB</acronym> values must be specified using
foreground_color and background_color,
@ -567,7 +567,7 @@ The X server might or might not make a copy of the pixmap.
</para>
<para>
<!-- .LP -->
<function>XCreatePixmapCursor</function>
<xref linkend='XCreatePixmapCursor' xrefstyle='select: title'/>
can generate
<errorname>BadAlloc</errorname>
and
@ -578,11 +578,11 @@ errors.
<!-- .LP -->
<!-- .sp -->
To determine useful cursor sizes, use
<function>XQueryBestCursor</function>.
<xref linkend='XQueryBestCursor' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XQueryBestCursor</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xquerybestcursor'>
<funcsynopsis id='XQueryBestCursor'>
<funcprototype>
<funcdef>Status <function>XQueryBestCursor</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -664,7 +664,7 @@ and height.
<!-- .eM -->
Some displays allow larger cursors than other displays.
The
<function>XQueryBestCursor</function>
<xref linkend='XQueryBestCursor' xrefstyle='select: title'/>
function provides a way to find out what size cursors are actually
possible on the display.
<indexterm ><primary>Cursor</primary><secondary>limitations</secondary></indexterm>
@ -674,7 +674,7 @@ cannot support large ones.
</para>
<para>
<!-- .LP -->
<function>XQueryBestCursor</function>
<xref linkend='XQueryBestCursor' xrefstyle='select: title'/>
can generate a
<errorname>BadDrawable</errorname>
error.
@ -683,11 +683,11 @@ error.
<!-- .LP -->
<!-- .sp -->
To change the color of a given cursor, use
<function>XRecolorCursor</function>.
<xref linkend='XRecolorCursor' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XRecolorCursor</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xrecolorcursor'>
<funcsynopsis id='XRecolorCursor'>
<funcprototype>
<funcdef><function>XRecolorCursor</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -742,7 +742,7 @@ Specifies the <acronym>RGB</acronym> values for the background of the source.
<!-- .LP -->
<!-- .eM -->
The
<function>XRecolorCursor</function>
<xref linkend='XRecolorCursor' xrefstyle='select: title'/>
function changes the color of the specified cursor, and
if the cursor is being displayed on a screen,
the change is visible immediately.
@ -752,7 +752,7 @@ structures are ignored; only the <acronym>RGB</acronym> values are used.
</para>
<para>
<!-- .LP -->
<function>XRecolorCursor</function>
<xref linkend='XRecolorCursor' xrefstyle='select: title'/>
can generate a
<errorname>BadCursor</errorname>
error.
@ -761,11 +761,11 @@ error.
<!-- .LP -->
<!-- .sp -->
To free (destroy) a given cursor, use
<function>XFreeCursor</function>.
<xref linkend='XFreeCursor' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XFreeCursor</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xfreecursor'>
<funcsynopsis id='XFreeCursor'>
<funcprototype>
<funcdef><function>XFreeCursor</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -799,7 +799,7 @@ Specifies the cursor.
<!-- .LP -->
<!-- .eM -->
The
<function>XFreeCursor</function>
<xref linkend='XFreeCursor' xrefstyle='select: title'/>
function deletes the association between the cursor resource ID
and the specified cursor.
The cursor storage is freed when no other resource references it.
@ -807,7 +807,7 @@ The specified cursor ID should not be referred to again.
</para>
<para>
<!-- .LP -->
<function>XFreeCursor</function>
<xref linkend='XFreeCursor' xrefstyle='select: title'/>
can generate a
<errorname>BadCursor</errorname>
error.

File diff suppressed because it is too large Load diff

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
<chapter id="graphics_context_functions">
<chapter id='Graphics_Context_Functions'>
<title>Graphics Context Functions</title>
<para>
@ -25,7 +25,7 @@ This chapter discusses how to:
<listitem><para>Use graphics context convenience functions</para></listitem>
</itemizedlist>
<sect1 id="Manipulating_Graphics_Context_State">
<sect1 id='Manipulating_Graphics_ContextState'>
<title>Manipulating Graphics Context/State</title>
<!-- .XS -->
<!-- (SN Manipulating Graphics Context/State -->
@ -47,9 +47,9 @@ resource IDs to allow Xlib to implement the transparent coalescing of changes
to GCs.
For example,
a call to
<function>XSetForeground</function>
<xref linkend='XSetForeground' xrefstyle='select: title'/>
of a GC followed by a call to
<function>XSetLineAttributes</function>
<xref linkend='XSetLineAttributes' xrefstyle='select: title'/>
results in only a single-change GC protocol request to the server.
GCs are neither expected nor encouraged to be shared between client
applications, so this write-back caching should present no problems.
@ -63,7 +63,7 @@ To set an attribute of a GC,
set the appropriate member of the
<structname>XGCValues</structname>
structure and OR in the corresponding value bitmask in your subsequent calls to
<function>XCreateGC</function>.
<xref linkend='XCreateGC' xrefstyle='select: title'/>.
The symbols for the value mask bits and the
<structname>XGCValues</structname>
structure are:
@ -720,20 +720,20 @@ any size pixmap can be used for tiling or stippling.
The fill-style defines the contents of the source for line, text, and
fill requests.
For all text and fill requests (for example,
<function>XDrawText</function>,
<function>XDrawText16</function>,
<function>XFillRectangle</function>,
<function>XFillPolygon</function>,
<xref linkend='XDrawText' xrefstyle='select: title'/>,
<xref linkend='XDrawText16' xrefstyle='select: title'/>,
<xref linkend='XFillRectangle' xrefstyle='select: title'/>,
<xref linkend='XFillPolygon' xrefstyle='select: title'/>,
and
<function>XFillArc</function>);
<xref linkend='XFillArc' xrefstyle='select: title'/>);
for line requests
with line-style
<symbol>LineSolid</symbol>
(for example,
<function>XDrawLine</function>,
<function>XDrawSegments</function>,
<function>XDrawRectangle</function>,
<function>XDrawArc</function>);
<xref linkend='XDrawLine' xrefstyle='select: title'/>,
<xref linkend='XDrawSegments' xrefstyle='select: title'/>,
<xref linkend='XDrawRectangle' xrefstyle='select: title'/>,
<xref linkend='XDrawArc' xrefstyle='select: title'/>);
and for the even dashes for line requests with line-style
<symbol>LineOnOffDash</symbol>
or
@ -825,10 +825,10 @@ of GCs.
<!-- .LP -->
The dashes value is actually a simplified form of the
more general patterns that can be set with
<function>XSetDashes</function>.
<xref linkend='XSetDashes' xrefstyle='select: title'/>.
Specifying a
value of N is equivalent to specifying the two-element list [N, N] in
<function>XSetDashes</function>.
<xref linkend='XSetDashes' xrefstyle='select: title'/>.
The value must be nonzero,
or a
<errorname>BadValue</errorname>
@ -846,9 +846,9 @@ If clip-mask is set to
<symbol>None</symbol>,
the pixels are always drawn regardless of the clip origin.
The clip-mask also can be set by calling the
<function>XSetClipRectangles</function>
<xref linkend='XSetClipRectangles' xrefstyle='select: title'/>
or
<function>XSetRegion</function>
<xref linkend='XSetRegion' xrefstyle='select: title'/>
functions.
Only pixels where the clip-mask has a bit set to 1 are drawn.
Pixels are not drawn outside the area covered by the clip-mask
@ -885,7 +885,7 @@ undefined by the core protocol.
<!-- .LP -->
The fill-rule defines what pixels are inside (drawn) for
paths given in
<function>XFillPolygon</function>
<xref linkend='XFillPolygon' xrefstyle='select: title'/>
requests and can be set to
<symbol>EvenOddRule</symbol>
or
@ -928,7 +928,7 @@ and are inside if and only if the polygon interior is immediately below
<para>
<!-- .LP -->
The arc-mode controls filling in the
<function>XFillArcs</function>
<xref linkend='XFillArcs' xrefstyle='select: title'/>
function and can be set to
<symbol>ArcPieSlice</symbol>
or
@ -946,9 +946,9 @@ The graphics-exposure flag controls
<symbol>GraphicsExpose</symbol>
event generation
for
<function>XCopyArea</function>
<xref linkend='XCopyArea' xrefstyle='select: title'/>
and
<function>XCopyPlane</function>
<xref linkend='XCopyPlane' xrefstyle='select: title'/>
requests (and any similar requests defined by extensions).
</para>
<para>
@ -956,12 +956,12 @@ requests (and any similar requests defined by extensions).
<!-- .sp -->
To create a new GC that is usable on a given screen with a
depth of drawable, use
<function>XCreateGC</function>.
<xref linkend='XCreateGC' xrefstyle='select: title'/>.
</para>
<indexterm><primary>Graphics context</primary><secondary>initializing</secondary></indexterm>
<indexterm significance="preferred"><primary>XCreateGC</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xcreategc'>
<funcsynopsis id='XCreateGC'>
<funcprototype>
<funcdef>GC <function>XCreateGC</function></funcdef>
<paramdef>Display <parameter> *display</parameter></paramdef>
@ -1020,7 +1020,7 @@ Specifies any values as specified by the valuemask.
<!-- .LP -->
<!-- .eM -->
The
<function>XCreateGC</function>
<xref linkend='XCreateGC' xrefstyle='select: title'/>
function creates a graphics context and returns a GC.
The GC can be used with any destination drawable having the same root
and depth as the specified drawable.
@ -1030,7 +1030,7 @@ error.
</para>
<para>
<!-- .LP -->
<function>XCreateGC</function>
<xref linkend='XCreateGC' xrefstyle='select: title'/>
can generate
<errorname>BadAlloc</errorname>,
<errorname>BadDrawable</errorname>,
@ -1045,11 +1045,11 @@ errors.
<!-- .LP -->
<!-- .sp -->
To copy components from a source GC to a destination GC, use
<function>XCopyGC</function>.
<xref linkend='XCopyGC' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XCopyGC</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xcopygc'>
<funcsynopsis id='XCopyGC'>
<funcprototype>
<funcdef><function>XCopyGC</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1107,7 +1107,7 @@ Specifies the destination GC.
<!-- .LP -->
<!-- .eM -->
The
<function>XCopyGC</function>
<xref linkend='XCopyGC' xrefstyle='select: title'/>
function copies the specified components from the source GC
to the destination GC.
The source and destination GCs must have the same root and depth,
@ -1115,11 +1115,11 @@ or a
<errorname>BadMatch</errorname>
error results.
The valuemask specifies which component to copy, as for
<function>XCreateGC</function>.
<xref linkend='XCreateGC' xrefstyle='select: title'/>.
</para>
<para>
<!-- .LP -->
<function>XCopyGC</function>
<xref linkend='XCopyGC' xrefstyle='select: title'/>
can generate
<errorname>BadAlloc</errorname>,
<errorname>BadGC</errorname>,
@ -1131,11 +1131,11 @@ errors.
<!-- .LP -->
<!-- .sp -->
To change the components in a given GC, use
<function>XChangeGC</function>.
<xref linkend='XChangeGC' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XChangeGC</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xchangegc'>
<funcsynopsis id='XChangeGC'>
<funcprototype>
<funcdef><function>XChangeGC</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1194,25 +1194,25 @@ Specifies any values as specified by the valuemask.
<!-- .LP -->
<!-- .eM -->
The
<function>XChangeGC</function>
<xref linkend='XChangeGC' xrefstyle='select: title'/>
function changes the components specified by valuemask for
the specified GC.
The values argument contains the values to be set.
The values and restrictions are the same as for
<function>XCreateGC</function>.
<xref linkend='XCreateGC' xrefstyle='select: title'/>.
Changing the clip-mask overrides any previous
<function>XSetClipRectangles</function>
<xref linkend='XSetClipRectangles' xrefstyle='select: title'/>
request on the context.
Changing the dash-offset or dash-list
overrides any previous
<function>XSetDashes</function>
<xref linkend='XSetDashes' xrefstyle='select: title'/>
request on the context.
The order in which components are verified and altered is server dependent.
If an error is generated, a subset of the components may have been altered.
</para>
<para>
<!-- .LP -->
<function>XChangeGC</function>
<xref linkend='XChangeGC' xrefstyle='select: title'/>
can generate
<errorname>BadAlloc</errorname>,
<errorname>BadFont</errorname>,
@ -1227,11 +1227,11 @@ errors.
<!-- .LP -->
<!-- .sp -->
To obtain components of a given GC, use
<function>XGetGCValues</function>.
<xref linkend='XGetGCValues' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XGetGCValues</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xgetgcvalues'>
<funcsynopsis id='XGetGCValues'>
<funcprototype>
<funcdef>Status <function>XGetGCValues</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1292,7 +1292,7 @@ structure.
<!-- .LP -->
<!-- .eM -->
The
<function>XGetGCValues</function>
<xref linkend='XGetGCValues' xrefstyle='select: title'/>
function returns the components specified by valuemask for the specified GC.
If the valuemask contains a valid set of GC mask bits
(<symbol>GCFunction</symbol>,
@ -1318,7 +1318,7 @@ If the valuemask contains a valid set of GC mask bits
or
<symbol>GCArcMode</symbol>)
and no error occurs,
<function>XGetGCValues</function>
<xref linkend='XGetGCValues' xrefstyle='select: title'/>
sets the requested components in values_return and returns a nonzero status.
Otherwise, it returns a zero status.
Note that the clip-mask and dash-list (represented by the
@ -1339,11 +1339,11 @@ if the component has never been explicitly set by the client.
<!-- .LP -->
<!-- .sp -->
To free a given GC, use
<function>XFreeGC</function>.
<xref linkend='XFreeGC' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XFreeGC</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xfreegc'>
<funcsynopsis id='XFreeGC'>
<funcprototype>
<funcdef><function>XFreeGC</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1377,12 +1377,12 @@ Specifies the GC.
<!-- .LP -->
<!-- .eM -->
The
<function>XFreeGC</function>
<xref linkend='XFreeGC' xrefstyle='select: title'/>
function destroys the specified GC as well as all the associated storage.
</para>
<para>
<!-- .LP -->
<function>XFreeGC</function>
<xref linkend='XFreeGC' xrefstyle='select: title'/>
can generate a
<errorname>BadGC</errorname>
error.
@ -1393,11 +1393,11 @@ error.
To obtain the
<type>GContext</type>
resource ID for a given GC, use
<function>XGContextFromGC</function>.
<xref linkend='XGContextFromGC' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XGContextFromGC</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xgcontextfromgc'>
<funcsynopsis id='XGContextFromGC'>
<funcprototype>
<funcdef>GContext <function>XGContextFromGC</function></funcdef>
<paramdef>GC<parameter> gc</parameter></paramdef>
@ -1429,11 +1429,11 @@ to explicitly force sending the changes to the server.
An example might be when a protocol extension uses the GC indirectly,
in such a way that the extension interface cannot know what GC will be used.
To force sending GC component changes, use
<function>XFlushGC</function>.
<xref linkend='XFlushGC' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XFlushGC</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xflushgc'>
<funcsynopsis id='XFlushGC'>
<funcprototype>
<funcdef>void <function>XFlushGC</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1523,11 +1523,11 @@ Arc mode, subwindow mode, and graphics exposure components
<!-- .LP -->
To set the foreground, background, plane mask, and function components
for a given GC, use
<function>XSetState</function>.
<xref linkend='XSetState' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XSetState</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xsetstate'>
<funcsynopsis id='XSetState'>
<funcprototype>
<funcdef><function>XSetState</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1604,7 +1604,7 @@ Specifies the plane mask.
<para>
<!-- .LP -->
<!-- .eM -->
<function>XSetState</function>
<xref linkend='XSetState' xrefstyle='select: title'/>
can generate
<errorname>BadAlloc</errorname>,
<errorname>BadGC</errorname>,
@ -1616,11 +1616,11 @@ errors.
<!-- .LP -->
<!-- .sp -->
To set the foreground of a given GC, use
<function>XSetForeground</function>.
<xref linkend='XSetForeground' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XSetForeground</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xsetforeground'>
<funcsynopsis id='XSetForeground'>
<funcprototype>
<funcdef><function>XSetForeground</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1664,7 +1664,7 @@ Specifies the foreground you want to set for the specified GC.
<para>
<!-- .LP -->
<!-- .eM -->
<function>XSetForeground</function>
<xref linkend='XSetForeground' xrefstyle='select: title'/>
can generate
<errorname>BadAlloc</errorname>
and
@ -1675,11 +1675,11 @@ errors.
<!-- .LP -->
<!-- .sp -->
To set the background of a given GC, use
<function>XSetBackground</function>.
<xref linkend='XSetBackground' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XSetBackground</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xsetbackground'>
<funcsynopsis id='XSetBackground'>
<funcprototype>
<funcdef><function>XSetBackground</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1723,7 +1723,7 @@ Specifies the background you want to set for the specified GC.
<para>
<!-- .LP -->
<!-- .eM -->
<function>XSetBackground</function>
<xref linkend='XSetBackground' xrefstyle='select: title'/>
can generate
<errorname>BadAlloc</errorname>
and
@ -1734,11 +1734,11 @@ errors.
<!-- .LP -->
<!-- .sp -->
To set the display function in a given GC, use
<function>XSetFunction</function>.
<xref linkend='XSetFunction' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XSetFunction</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xsetfunction'>
<funcsynopsis id='XSetFunction'>
<funcprototype>
<funcdef><function>XSetFunction</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1782,7 +1782,7 @@ Specifies the function you want to set for the specified GC.
<para>
<!-- .LP -->
<!-- .eM -->
<function>XSetFunction</function>
<xref linkend='XSetFunction' xrefstyle='select: title'/>
can generate
<errorname>BadAlloc</errorname>,
<errorname>BadGC</errorname>,
@ -1794,11 +1794,11 @@ errors.
<!-- .LP -->
<!-- .sp -->
To set the plane mask of a given GC, use
<function>XSetPlaneMask</function>.
<xref linkend='XSetPlaneMask' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XSetPlaneMask</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xsetplanemask'>
<funcsynopsis id='XSetPlaneMask'>
<funcprototype>
<funcdef><function>XSetPlaneMask</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1843,7 +1843,7 @@ Specifies the plane mask.
<para>
<!-- .LP -->
<!-- .eM -->
<function>XSetPlaneMask</function>
<xref linkend='XSetPlaneMask' xrefstyle='select: title'/>
can generate
<errorname>BadAlloc</errorname>
and
@ -1859,11 +1859,11 @@ errors.
<para>
<!-- .LP -->
To set the line drawing components of a given GC, use
<function>XSetLineAttributes</function>.
<xref linkend='XSetLineAttributes' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XSetLineAttributes</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xsetlineattributes'>
<funcsynopsis id='XSetLineAttributes'>
<funcprototype>
<funcdef><function>XSetLineAttributes</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1956,7 +1956,7 @@ or
<para>
<!-- .LP -->
<!-- .eM -->
<function>XSetLineAttributes</function>
<xref linkend='XSetLineAttributes' xrefstyle='select: title'/>
can generate
<errorname>BadAlloc</errorname>,
<errorname>BadGC</errorname>,
@ -1968,11 +1968,11 @@ errors.
<!-- .LP -->
<!-- .sp -->
To set the dash-offset and dash-list for dashed line styles of a given GC, use
<function>XSetDashes</function>.
<xref linkend='XSetDashes' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XSetDashes</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xsetdashes'>
<funcsynopsis id='XSetDashes'>
<funcprototype>
<funcdef><function>XSetDashes</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -2041,7 +2041,7 @@ Specifies the number of elements in dash_list.
<!-- .LP -->
<!-- .eM -->
The
<function>XSetDashes</function>
<xref linkend='XSetDashes' xrefstyle='select: title'/>
function sets the dash-offset and dash-list attributes for dashed line styles
in the specified GC.
There must be at least one element in the specified dash_list,
@ -2080,7 +2080,7 @@ For all other lines, the major axis is the y axis.
</para>
<para>
<!-- .LP -->
<function>XSetDashes</function>
<xref linkend='XSetDashes' xrefstyle='select: title'/>
can generate
<errorname>BadAlloc</errorname>,
<errorname>BadGC</errorname>,
@ -2089,19 +2089,19 @@ and
errors.
</para>
</sect2>
<sect2 id="Setting_the_Fill_Style_and_Fill_Rule_">
<title>Setting the Fill Style and Fill Rule </title>
<sect2 id='Setting_the_Fill_Style_and_Fill_Rule'>
<title>Setting the Fill Style and Fill Rule</title>
<!-- .XS -->
<!-- (SN Setting the Fill Style and Fill Rule -->
<!-- .XE -->
<para>
<!-- .LP -->
To set the fill-style of a given GC, use
<function>XSetFillStyle</function>.
<xref linkend='XSetFillStyle' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XSetFillStyle</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xsetfillstyle'>
<funcsynopsis id='XSetFillStyle'>
<funcprototype>
<funcdef><function>XSetFillStyle</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -2151,7 +2151,7 @@ or
<para>
<!-- .LP -->
<!-- .eM -->
<function>XSetFillStyle</function>
<xref linkend='XSetFillStyle' xrefstyle='select: title'/>
can generate
<errorname>BadAlloc</errorname>,
<errorname>BadGC</errorname>,
@ -2163,11 +2163,11 @@ errors.
<!-- .LP -->
<!-- .sp -->
To set the fill-rule of a given GC, use
<function>XSetFillRule</function>.
<xref linkend='XSetFillRule' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XSetFillRule</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xsetfillrule'>
<funcsynopsis id='XSetFillRule'>
<funcprototype>
<funcdef><function>XSetFillRule</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -2215,7 +2215,7 @@ or
<para>
<!-- .LP -->
<!-- .eM -->
<function>XSetFillRule</function>
<xref linkend='XSetFillRule' xrefstyle='select: title'/>
can generate
<errorname>BadAlloc</errorname>,
<errorname>BadGC</errorname>,
@ -2224,8 +2224,8 @@ and
errors.
</para>
</sect2>
<sect2 id="Setting_the_Fill_Tile_and_Stipple_">
<title>Setting the Fill Tile and Stipple </title>
<sect2 id='Setting_the_Fill_Tile_and_Stipple'>
<title>Setting the Fill Tile and Stipple</title>
<!-- .XS -->
<!-- (SN Setting the Fill Tile and Stipple -->
<!-- .XE -->
@ -2243,11 +2243,11 @@ as well as to set the tile or stipple shape and the tile or stipple origin.
<!-- .LP -->
<!-- .sp -->
To obtain the best size of a tile, stipple, or cursor, use
<function>XQueryBestSize</function>.
<xref linkend='XQueryBestSize' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XQueryBestSize</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xquerybestsize'>
<funcsynopsis id='XQueryBestSize'>
<funcprototype>
<funcdef>Status <function>XQueryBestSize</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -2342,7 +2342,7 @@ by the display hardware.
<!-- .LP -->
<!-- .eM -->
The
<function>XQueryBestSize</function>
<xref linkend='XQueryBestSize' xrefstyle='select: title'/>
function returns the best or closest size to the specified size.
For
<symbol>CursorShape</symbol>,
@ -2374,7 +2374,7 @@ error results.
</para>
<para>
<!-- .LP -->
<function>XQueryBestSize</function>
<xref linkend='XQueryBestSize' xrefstyle='select: title'/>
can generate
<errorname>BadDrawable</errorname>,
<errorname>BadMatch</errorname>,
@ -2386,11 +2386,11 @@ errors.
<!-- .LP -->
<!-- .sp -->
To obtain the best fill tile shape, use
<function>XQueryBestTile</function>.
<xref linkend='XQueryBestTile' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XQueryBestTile</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xquerybesttile'>
<funcsynopsis id='XQueryBestTile'>
<funcprototype>
<funcdef>Status <function>XQueryBestTile</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -2469,7 +2469,7 @@ by the display hardware.
<!-- .LP -->
<!-- .eM -->
The
<function>XQueryBestTile</function>
<xref linkend='XQueryBestTile' xrefstyle='select: title'/>
function returns the best or closest size, that is, the size that can be
tiled fastest on the screen specified by which_screen.
The drawable indicates the screen and possibly the window class and depth.
@ -2481,7 +2481,7 @@ error results.
</para>
<para>
<!-- .LP -->
<function>XQueryBestTile</function>
<xref linkend='XQueryBestTile' xrefstyle='select: title'/>
can generate
<errorname>BadDrawable</errorname>
and
@ -2492,11 +2492,11 @@ errors.
<!-- .LP -->
<!-- .sp -->
To obtain the best stipple shape, use
<function>XQueryBestStipple</function>.
<xref linkend='XQueryBestStipple' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XQueryBestStipple</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xquerybeststipple'>
<funcsynopsis id='XQueryBestStipple'>
<funcprototype>
<funcdef>Status <function>XQueryBestStipple</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -2575,7 +2575,7 @@ by the display hardware.
<!-- .LP -->
<!-- .eM -->
The
<function>XQueryBestStipple</function>
<xref linkend='XQueryBestStipple' xrefstyle='select: title'/>
function returns the best or closest size, that is, the size that can be
stippled fastest on the screen specified by which_screen.
The drawable indicates the screen and possibly the window class and depth.
@ -2587,7 +2587,7 @@ error results.
</para>
<para>
<!-- .LP -->
<function>XQueryBestStipple</function>
<xref linkend='XQueryBestStipple' xrefstyle='select: title'/>
can generate
<errorname>BadDrawable</errorname>
and
@ -2598,11 +2598,11 @@ errors.
<!-- .LP -->
<!-- .sp -->
To set the fill tile of a given GC, use
<function>XSetTile</function>.
<xref linkend='XSetTile' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XSetTile</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xsettile'>
<funcsynopsis id='XSetTile'>
<funcprototype>
<funcdef><function>XSetTile</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -2653,7 +2653,7 @@ error results.
</para>
<para>
<!-- .LP -->
<function>XSetTile</function>
<xref linkend='XSetTile' xrefstyle='select: title'/>
can generate
<errorname>BadAlloc</errorname>,
<errorname>BadGC</errorname>,
@ -2666,11 +2666,11 @@ errors.
<!-- .LP -->
<!-- .sp -->
To set the stipple of a given GC, use
<function>XSetStipple</function>.
<xref linkend='XSetStipple' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XSetStipple</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xsetstipple'>
<funcsynopsis id='XSetStipple'>
<funcprototype>
<funcdef><function>XSetStipple</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -2721,7 +2721,7 @@ error results.
</para>
<para>
<!-- .LP -->
<function>XSetStipple</function>
<xref linkend='XSetStipple' xrefstyle='select: title'/>
can generate
<errorname>BadAlloc</errorname>,
<errorname>BadGC</errorname>,
@ -2734,11 +2734,11 @@ errors.
<!-- .LP -->
<!-- .sp -->
To set the tile or stipple origin of a given GC, use
<function>XSetTSOrigin</function>.
<xref linkend='XSetTSOrigin' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XSetTSOrigin</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xsettsorigin'>
<funcsynopsis id='XSetTSOrigin'>
<funcprototype>
<funcdef><function>XSetTSOrigin</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -2799,7 +2799,7 @@ drawable is specified in the graphics request.
</para>
<para>
<!-- .LP -->
<function>XSetTSOrigin</function>
<xref linkend='XSetTSOrigin' xrefstyle='select: title'/>
can generate
<errorname>BadAlloc</errorname>
and
@ -2807,19 +2807,19 @@ and
errors.
</para>
</sect2>
<sect2 id="Setting_the_Current_Font_">
<title>Setting the Current Font </title>
<sect2 id='Setting_the_Current_Font'>
<title>Setting the Current Font</title>
<!-- .XS -->
<!-- (SN Setting the Current Font -->
<!-- .XE -->
<para>
<!-- .LP -->
To set the current font of a given GC, use
<function>XSetFont</function>.
<xref linkend='XSetFont' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XSetFont</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xsetfont'>
<funcsynopsis id='XSetFont'>
<funcprototype>
<funcdef><function>XSetFont</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -2863,7 +2863,7 @@ Specifies the font.
<para>
<!-- .LP -->
<!-- .eM -->
<function>XSetFont</function>
<xref linkend='XSetFont' xrefstyle='select: title'/>
can generate
<errorname>BadAlloc</errorname>,
<errorname>BadFont</errorname>,
@ -2886,11 +2886,11 @@ and the clip-mask or set the clip-mask to a list of rectangles.
<!-- .LP -->
<!-- .sp -->
To set the clip-origin of a given GC, use
<function>XSetClipOrigin</function>.
<xref linkend='XSetClipOrigin' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XSetClipOrigin</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xsetcliporigin'>
<funcsynopsis id='XSetClipOrigin'>
<funcprototype>
<funcdef><function>XSetClipOrigin</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -2950,7 +2950,7 @@ destination drawable is specified in the graphics request.
</para>
<para>
<!-- .LP -->
<function>XSetClipOrigin</function>
<xref linkend='XSetClipOrigin' xrefstyle='select: title'/>
can generate
<errorname>BadAlloc</errorname>
and
@ -2961,11 +2961,11 @@ errors.
<!-- .LP -->
<!-- .sp -->
To set the clip-mask of a given GC to the specified pixmap, use
<function>XSetClipMask</function>.
<xref linkend='XSetClipMask' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XSetClipMask</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xsetclipmask'>
<funcsynopsis id='XSetClipMask'>
<funcprototype>
<funcdef><function>XSetClipMask</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -3016,7 +3016,7 @@ the pixels are always drawn (regardless of the clip-origin).
</para>
<para>
<!-- .LP -->
<function>XSetClipMask</function>
<xref linkend='XSetClipMask' xrefstyle='select: title'/>
can generate
<errorname>BadAlloc</errorname>,
<errorname>BadGC</errorname>,
@ -3029,11 +3029,11 @@ errors.
<!-- .LP -->
<!-- .sp -->
To set the clip-mask of a given GC to the specified list of rectangles, use
<function>XSetClipRectangles</function>.
<xref linkend='XSetClipRectangles' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XSetClipRectangles</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xsetcliprectangles'>
<funcsynopsis id='XSetClipRectangles'>
<funcprototype>
<funcdef><function>XSetClipRectangles</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -3128,7 +3128,7 @@ or
<!-- .LP -->
<!-- .eM -->
The
<function>XSetClipRectangles</function>
<xref linkend='XSetClipRectangles' xrefstyle='select: title'/>
function changes the clip-mask in the specified GC
to the specified list of rectangles and sets the clip origin.
The output is clipped to remain contained within the
@ -3143,10 +3143,10 @@ which effectively disables output.
This is the opposite of passing
<symbol>None</symbol>
as the clip-mask in
<function>XCreateGC</function>,
<function>XChangeGC</function>,
<xref linkend='XCreateGC' xrefstyle='select: title'/>,
<xref linkend='XChangeGC' xrefstyle='select: title'/>,
and
<function>XSetClipMask</function>.
<xref linkend='XSetClipMask' xrefstyle='select: title'/>.
</para>
<para>
<!-- .LP -->
@ -3178,7 +3178,7 @@ scanline have an identical Y origins and Y extents.
</para>
<para>
<!-- .LP -->
<function>XSetClipRectangles</function>
<xref linkend='XSetClipRectangles' xrefstyle='select: title'/>
can generate
<errorname>BadAlloc</errorname>,
<errorname>BadGC</errorname>,
@ -3195,19 +3195,19 @@ For information about these functions,
see <link linkend="Manipulating_Regions">section 16.5</link>.
</para>
</sect2>
<sect2 id="Setting_the_Arc_Mode_Subwindow_Mode_and_Graphics_Exposure_">
<title>Setting the Arc Mode, Subwindow Mode, and Graphics Exposure </title>
<sect2 id='Setting_the_Arc_Mode_Subwindow_Mode_and_Graphics_Exposure'>
<title>Setting the Arc Mode, Subwindow Mode, and Graphics Exposure</title>
<!-- .XS -->
<!-- (SN Setting the Arc Mode, Subwindow Mode, and Graphics Exposure -->
<!-- .XE -->
<para>
<!-- .LP -->
To set the arc mode of a given GC, use
<function>XSetArcMode</function>.
<xref linkend='XSetArcMode' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XSetArcMode</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xsetarcmode'>
<funcsynopsis id='XSetArcMode'>
<funcprototype>
<funcdef><function>XSetArcMode</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -3255,7 +3255,7 @@ or
<para>
<!-- .LP -->
<!-- .eM -->
<function>XSetArcMode</function>
<xref linkend='XSetArcMode' xrefstyle='select: title'/>
can generate
<errorname>BadAlloc</errorname>,
<errorname>BadGC</errorname>,
@ -3267,11 +3267,11 @@ errors.
<!-- .LP -->
<!-- .sp -->
To set the subwindow mode of a given GC, use
<function>XSetSubwindowMode</function>.
<xref linkend='XSetSubwindowMode' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XSetSubwindowMode</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xsetsubwindowmode'>
<funcsynopsis id='XSetSubwindowMode'>
<funcprototype>
<funcdef><function>XSetSubwindowMode</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -3319,7 +3319,7 @@ or
<para>
<!-- .LP -->
<!-- .eM -->
<function>XSetSubwindowMode</function>
<xref linkend='XSetSubwindowMode' xrefstyle='select: title'/>
can generate
<errorname>BadAlloc</errorname>,
<errorname>BadGC</errorname>,
@ -3331,11 +3331,11 @@ errors.
<!-- .LP -->
<!-- .sp -->
To set the graphics-exposures flag of a given GC, use
<function>XSetGraphicsExposures</function>.
<xref linkend='XSetGraphicsExposures' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XSetGraphicsExposures</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xsetgraphicsexposures'>
<funcsynopsis id='XSetGraphicsExposures'>
<funcprototype>
<funcdef><function>XSetGraphicsExposures</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -3376,9 +3376,9 @@ Specifies a Boolean value that indicates whether you want
and
<symbol>NoExpose</symbol>
events to be reported when calling
<function>XCopyArea</function>
<xref linkend='XCopyArea' xrefstyle='select: title'/>
and
<function>XCopyPlane</function>
<xref linkend='XCopyPlane' xrefstyle='select: title'/>
with this GC.
</para>
</listitem>
@ -3387,7 +3387,7 @@ with this GC.
<para>
<!-- .LP -->
<!-- .eM -->
<function>XSetGraphicsExposures</function>
<xref linkend='XSetGraphicsExposures' xrefstyle='select: title'/>
can generate
<errorname>BadAlloc</errorname>,
<errorname>BadGC</errorname>,

File diff suppressed because it is too large Load diff

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
<chapter id="window_and_session_manager_functions">
<chapter id='Window_and_Session_Manager_Functions'>
<title>Window and Session Manager Functions</title>
<para>
@ -31,12 +31,12 @@ management functions to:
<para>
<!-- .LP -->
To change a window's parent to another window on the same screen, use
<function>XReparentWindow</function>.
<xref linkend='XReparentWindow' xrefstyle='select: title'/>.
There is no way to move a window between screens.
</para>
<indexterm significance="preferred"><primary>XReparentWindow</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xreparentwindow'>
<funcsynopsis id='XReparentWindow'>
<funcprototype>
<funcdef><function>XReparentWindow</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -104,7 +104,7 @@ Specify the x and y coordinates(Xy.
<!-- .LP -->
<!-- .eM -->
If the specified window is mapped,
<function>XReparentWindow</function>
<xref linkend='XReparentWindow' xrefstyle='select: title'/>
automatically performs an
<systemitem>UnmapWindow</systemitem>
request on it, removes it from its current position in the hierarchy,
@ -115,7 +115,7 @@ sibling windows.
<para>
<!-- .LP -->
After reparenting the specified window,
<function>XReparentWindow</function>
<xref linkend='XReparentWindow' xrefstyle='select: title'/>
causes the X server to generate a
<symbol>ReparentNotify</symbol>
event.
@ -175,7 +175,7 @@ specified window.
</itemizedlist>
<para>
<!-- .LP -->
<function>XReparentWindow</function>
<xref linkend='XReparentWindow' xrefstyle='select: title'/>
can generate
<errorname>BadMatch</errorname>
and
@ -194,7 +194,7 @@ The save-set of a client is a list of other clients' windows that,
if they are inferiors of one of the client's windows at connection close,
should not be destroyed and should be remapped if they are unmapped.
For further information about close-connection processing,
see <link linkend="Using_X_Server_Connection_Close_Operations_">section 2.6</link>.
see <link linkend='Using_X_Server_Connection_Close_Operations'>section 2.6</link>.
To allow an application's window to survive when a window manager that
has reparented a window fails,
Xlib provides the save-set functions that you can
@ -216,11 +216,11 @@ when they are destroyed.
<!-- .LP -->
<!-- .sp -->
To add or remove a window from the client's save-set, use
<function>XChangeSaveSet</function>.
<xref linkend='XChangeSaveSet' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XChangeSaveSet</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xchangesaveset'>
<funcsynopsis id='XChangeSaveSet'>
<funcprototype>
<funcdef><function>XChangeSaveSet</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -270,7 +270,7 @@ or
<!-- .LP -->
<!-- .eM -->
Depending on the specified mode,
<function>XChangeSaveSet</function>
<xref linkend='XChangeSaveSet' xrefstyle='select: title'/>
either inserts or deletes the specified window from the client's save-set.
The specified window must have been created by some other client,
or a
@ -279,7 +279,7 @@ error results.
</para>
<para>
<!-- .LP -->
<function>XChangeSaveSet</function>
<xref linkend='XChangeSaveSet' xrefstyle='select: title'/>
can generate
<errorname>BadMatch</errorname>,
<errorname>BadValue</errorname>,
@ -291,11 +291,11 @@ errors.
<!-- .LP -->
<!-- .sp -->
To add a window to the client's save-set, use
<function>XAddToSaveSet</function>.
<xref linkend='XAddToSaveSet' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XAddToSaveSet</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xaddtosaveset'>
<funcsynopsis id='XAddToSaveSet'>
<funcprototype>
<funcdef><function>XAddToSaveSet</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -330,7 +330,7 @@ Specifies the window (Wi.
<!-- .LP -->
<!-- .eM -->
The
<function>XAddToSaveSet</function>
<xref linkend='XAddToSaveSet' xrefstyle='select: title'/>
function adds the specified window to the client's save-set.
The specified window must have been created by some other client,
or a
@ -339,7 +339,7 @@ error results.
</para>
<para>
<!-- .LP -->
<function>XAddToSaveSet</function>
<xref linkend='XAddToSaveSet' xrefstyle='select: title'/>
can generate
<errorname>BadMatch</errorname>
and
@ -350,11 +350,11 @@ errors.
<!-- .LP -->
<!-- .sp -->
To remove a window from the client's save-set, use
<function>XRemoveFromSaveSet</function>.
<xref linkend='XRemoveFromSaveSet' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XRemoveFromSaveSet</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xremovefromsaveset'>
<funcsynopsis id='XRemoveFromSaveSet'>
<funcprototype>
<funcdef><function>XRemoveFromSaveSet</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -389,7 +389,7 @@ Specifies the window (Wi.
<!-- .LP -->
<!-- .eM -->
The
<function>XRemoveFromSaveSet</function>
<xref linkend='XRemoveFromSaveSet' xrefstyle='select: title'/>
function removes the specified window from the client's save-set.
The specified window must have been created by some other client,
or a
@ -398,7 +398,7 @@ error results.
</para>
<para>
<!-- .LP -->
<function>XRemoveFromSaveSet</function>
<xref linkend='XRemoveFromSaveSet' xrefstyle='select: title'/>
can generate
<errorname>BadMatch</errorname>
and
@ -430,12 +430,12 @@ where M is the minimum number of installed colormaps specified for the screen
in the connection setup.
The required list is maintained as follows.
When a colormap is specified to
<function>XInstallColormap</function>,
<xref linkend='XInstallColormap' xrefstyle='select: title'/>,
it is added to the head of the list;
the list is truncated at the tail, if necessary, to keep its length to
at most M.
When a colormap is specified to
<function>XUninstallColormap</function>
<xref linkend='XUninstallColormap' xrefstyle='select: title'/>
and it is in the required list,
it is removed from the list.
A colormap is not added to the required list when it is implicitly installed
@ -447,11 +447,11 @@ required list.
<!-- .LP -->
<!-- .sp -->
To install a colormap, use
<function>XInstallColormap</function>.
<xref linkend='XInstallColormap' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XInstallColormap</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xinstallcolormap'>
<funcsynopsis id='XInstallColormap'>
<funcprototype>
<funcdef><function>XInstallColormap</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -485,16 +485,16 @@ Specifies the colormap.
<!-- .LP -->
<!-- .eM -->
The
<function>XInstallColormap</function>
<xref linkend='XInstallColormap' xrefstyle='select: title'/>
function installs the specified colormap for its associated screen.
All windows associated with this colormap immediately display with
true colors.
You associated the windows with this colormap when you created them by calling
<function>XCreateWindow</function>,
<function>XCreateSimpleWindow</function>,
<function>XChangeWindowAttributes</function>,
<xref linkend='XCreateWindow' xrefstyle='select: title'/>,
<xref linkend='XCreateSimpleWindow' xrefstyle='select: title'/>,
<xref linkend='XChangeWindowAttributes' xrefstyle='select: title'/>,
or
<function>XSetWindowColormap</function>.
<xref linkend='XSetWindowColormap' xrefstyle='select: title'/>.
</para>
<para>
<!-- .LP -->
@ -504,14 +504,14 @@ the X server generates a
event on each window that has that colormap.
In addition, for every other colormap that is installed as
a result of a call to
<function>XInstallColormap</function>,
<xref linkend='XInstallColormap' xrefstyle='select: title'/>,
the X server generates a
<symbol>ColormapNotify</symbol>
event on each window that has that colormap.
</para>
<para>
<!-- .LP -->
<function>XInstallColormap</function>
<xref linkend='XInstallColormap' xrefstyle='select: title'/>
can generate a
<errorname>BadColor</errorname>
error.
@ -520,11 +520,11 @@ error.
<!-- .LP -->
<!-- .sp -->
To uninstall a colormap, use
<function>XUninstallColormap</function>.
<xref linkend='XUninstallColormap' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XUninstallColormap</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xuninstallcolormap'>
<funcsynopsis id='XUninstallColormap'>
<funcprototype>
<funcdef><function>XUninstallColormap</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -558,7 +558,7 @@ Specifies the colormap.
<!-- .LP -->
<!-- .eM -->
The
<function>XUninstallColormap</function>
<xref linkend='XUninstallColormap' xrefstyle='select: title'/>
function removes the specified colormap from the required
list for its screen.
As a result,
@ -575,14 +575,14 @@ the X server generates a
event on each window that has that colormap.
In addition, for every other colormap that is installed or uninstalled as a
result of a call to
<function>XUninstallColormap</function>,
<xref linkend='XUninstallColormap' xrefstyle='select: title'/>,
the X server generates a
<symbol>ColormapNotify</symbol>
event on each window that has that colormap.
</para>
<para>
<!-- .LP -->
<function>XUninstallColormap</function>
<xref linkend='XUninstallColormap' xrefstyle='select: title'/>
can generate a
<errorname>BadColor</errorname>
error.
@ -591,11 +591,11 @@ error.
<!-- .LP -->
<!-- .sp -->
To obtain a list of the currently installed colormaps for a given screen, use
<function>XListInstalledColormaps</function>.
<xref linkend='XListInstalledColormaps' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XListInstalledColormaps</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xlistinstalledcolormaps'>
<funcsynopsis id='XListInstalledColormaps'>
<funcprototype>
<funcdef>Colormap *<function>XListInstalledColormaps</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -641,18 +641,18 @@ Returns the number of currently installed colormaps.
<!-- .LP -->
<!-- .eM -->
The
<function>XListInstalledColormaps</function>
<xref linkend='XListInstalledColormaps' xrefstyle='select: title'/>
function returns a list of the currently installed colormaps for the screen
of the specified window.
The order of the colormaps in the list is not significant
and is no explicit indication of the required list.
When the allocated list is no longer needed,
free it by using
<function>XFree</function>.
<xref linkend='XFree' xrefstyle='select: title'/>.
</para>
<para>
<!-- .LP -->
<function>XListInstalledColormaps</function>
<xref linkend='XListInstalledColormaps' xrefstyle='select: title'/>
can generate a
<errorname>BadWindow</errorname>
error.
@ -673,11 +673,11 @@ search path for a server.
<!-- .LP -->
<!-- .sp -->
To set the font search path, use
<function>XSetFontPath</function>.
<xref linkend='XSetFontPath' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XSetFontPath</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xsetfontpath'>
<funcsynopsis id='XSetFontPath'>
<funcprototype>
<funcdef><function>XSetFontPath</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -724,7 +724,7 @@ Specifies the number of directories in the path.
<!-- .LP -->
<!-- .eM -->
The
<function>XSetFontPath</function>
<xref linkend='XSetFontPath' xrefstyle='select: title'/>
function defines the directory search path for font lookup.
There is only one search path per X server, not one per client.
The encoding and interpretation of the strings are implementation-dependent,
@ -742,7 +742,7 @@ The meaning of an error from this request is implementation-dependent.
</para>
<para>
<!-- .LP -->
<function>XSetFontPath</function>
<xref linkend='XSetFontPath' xrefstyle='select: title'/>
can generate a
<errorname>BadValue</errorname>
error.
@ -751,11 +751,11 @@ error.
<!-- .LP -->
<!-- .sp -->
To get the current font search path, use
<function>XGetFontPath</function>.
<xref linkend='XGetFontPath' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XGetFontPath</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xgetfontpath'>
<funcsynopsis id='XGetFontPath'>
<funcprototype>
<funcdef>char **<function>XGetFontPath</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -789,25 +789,25 @@ Returns the number of strings in the font path array.
<!-- .LP -->
<!-- .eM -->
The
<function>XGetFontPath</function>
<xref linkend='XGetFontPath' xrefstyle='select: title'/>
function allocates and returns an array of strings containing the search path.
The contents of these strings are implementation-dependent
and are not intended to be interpreted by client applications.
When it is no longer needed,
the data in the font path should be freed by using
<function>XFreeFontPath</function>.
<xref linkend='XFreeFontPath' xrefstyle='select: title'/>.
</para>
<para>
<!-- .LP -->
<!-- .sp -->
To free data returned by
<function>XGetFontPath</function>,
<xref linkend='XGetFontPath' xrefstyle='select: title'/>,
use
<function>XFreeFontPath</function>.
<xref linkend='XFreeFontPath' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XFreeFontPath</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xfreefontpath'>
<funcsynopsis id='XFreeFontPath'>
<funcprototype>
<funcdef><function>XFreeFontPath</function></funcdef>
<paramdef>char<parameter> **list</parameter></paramdef>
@ -830,14 +830,14 @@ Specifies the array of strings you want to free.
<!-- .LP -->
<!-- .eM -->
The
<function>XFreeFontPath</function>
<xref linkend='XFreeFontPath' xrefstyle='select: title'/>
function
frees the data allocated by
<function>XGetFontPath</function>.
<xref linkend='XGetFontPath' xrefstyle='select: title'/>.
</para>
</sect1>
<sect1 id="Grabbing_the_Server_">
<title>Grabbing the Server </title>
<sect1 id='Grabbing_the_Server'>
<title>Grabbing the Server</title>
<!-- .XS -->
<!-- (SN Grabbing the Server -->
<!-- .XE -->
@ -857,13 +857,13 @@ Although grabbing the server is highly discouraged, it is sometimes necessary.
<!-- .LP -->
<!-- .sp -->
To grab the server, use
<function>XGrabServer</function>.
<xref linkend='XGrabServer' xrefstyle='select: title'/>.
</para>
<indexterm><primary>Server</primary><secondary>grabbing</secondary></indexterm>
<indexterm><primary>Grabbing</primary><secondary>server</secondary></indexterm>
<indexterm significance="preferred"><primary>XGrabServer</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xgrabserver'>
<funcsynopsis id='XGrabServer'>
<funcprototype>
<funcdef><function>XGrabServer</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -886,7 +886,7 @@ Specifies the connection to the X server.
<!-- .LP -->
<!-- .eM -->
The
<function>XGrabServer</function>
<xref linkend='XGrabServer' xrefstyle='select: title'/>
function disables processing of requests and close downs on all other
connections than the one this request arrived on.
You should not grab the X server any more than is absolutely necessary.
@ -895,11 +895,11 @@ You should not grab the X server any more than is absolutely necessary.
<!-- .LP -->
<!-- .sp -->
To ungrab the server, use
<function>XUngrabServer</function>.
<xref linkend='XUngrabServer' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XUngrabServer</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xungrabserver'>
<funcsynopsis id='XUngrabServer'>
<funcprototype>
<funcdef><function>XUngrabServer</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -922,7 +922,7 @@ Specifies the connection to the X server.
<!-- .LP -->
<!-- .eM -->
The
<function>XUngrabServer</function>
<xref linkend='XUngrabServer' xrefstyle='select: title'/>
function restarts processing of requests and close downs on other connections.
You should avoid grabbing the X server as much as possible.
</para>
@ -937,11 +937,11 @@ You should avoid grabbing the X server as much as possible.
Xlib provides a function to cause the connection to
a client to be closed and its resources to be destroyed.
To destroy a client, use
<function>XKillClient</function>.
<xref linkend='XKillClient' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XKillClient</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xkillclient'>
<funcsynopsis id='XKillClient'>
<funcprototype>
<funcdef><function>XKillClient</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -976,7 +976,7 @@ Specifies any resource associated with the client that you want to destroy or
<!-- .LP -->
<!-- .eM -->
The
<function>XKillClient</function>
<xref linkend='XKillClient' xrefstyle='select: title'/>
function
forces a close down of the client
that created the resource
@ -1003,14 +1003,14 @@ and use the window manager to destroy the zombie windows.
</para>
<para>
<!-- .LP -->
<function>XKillClient</function>
<xref linkend='XKillClient' xrefstyle='select: title'/>
can generate a
<errorname>BadValue</errorname>
error.
</para>
</sect1>
<sect1 id="Controlling_the_Screen_Saver_">
<title>Controlling the Screen Saver </title>
<sect1 id='Controlling_the_Screen_Saver'>
<title>Controlling the Screen Saver</title>
<!-- .XS -->
<!-- (SN Controlling the Screen Saver -->
<!-- .XE -->
@ -1024,11 +1024,11 @@ or to obtain the current screen saver values.
<!-- .LP -->
<!-- .sp -->
To set the screen saver mode, use
<function>XSetScreenSaver</function>.
<xref linkend='XSetScreenSaver' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XSetScreenSaver</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xsetscreensaver'>
<funcsynopsis id='XSetScreenSaver'>
<funcprototype>
<funcdef><function>XSetScreenSaver</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1111,7 +1111,7 @@ Other negative values generate a
<errorname>BadValue</errorname>
error.
If the timeout value is nonzero,
<function>XSetScreenSaver</function>
<xref linkend='XSetScreenSaver' xrefstyle='select: title'/>
enables the screen saver.
An interval of 0 disables the random-pattern motion.
If no input from devices (keyboard, mouse, and so on) is generated
@ -1134,7 +1134,7 @@ and the screen saver is not activated.
The screen saver is deactivated,
and all screen states are restored at the next
keyboard or pointer input or at the next call to
<function>XForceScreenSaver</function>
<xref linkend='XForceScreenSaver' xrefstyle='select: title'/>
with mode
<symbol>ScreenSaverReset</symbol>.
</para>
@ -1150,7 +1150,7 @@ periodically.
</para>
<para>
<!-- .LP -->
<function>XSetScreenSaver</function>
<xref linkend='XSetScreenSaver' xrefstyle='select: title'/>
can generate a
<errorname>BadValue</errorname>
error.
@ -1159,11 +1159,11 @@ error.
<!-- .LP -->
<!-- .sp -->
To force the screen saver on or off, use
<function>XForceScreenSaver</function>.
<xref linkend='XForceScreenSaver' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XForceScreenSaver</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xforcescreensaver'>
<funcsynopsis id='XForceScreenSaver'>
<funcprototype>
<funcdef><function>XForceScreenSaver</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1203,20 +1203,20 @@ or
If the specified mode is
<symbol>ScreenSaverActive</symbol>
and the screen saver currently is deactivated,
<function>XForceScreenSaver</function>
<xref linkend='XForceScreenSaver' xrefstyle='select: title'/>
activates the screen saver even if the screen saver had been disabled
with a timeout of zero.
If the specified mode is
<symbol>ScreenSaverReset</symbol>
and the screen saver currently is enabled,
<function>XForceScreenSaver</function>
<xref linkend='XForceScreenSaver' xrefstyle='select: title'/>
deactivates the screen saver if it was activated,
and the activation timer is reset to its initial state
(as if device input had been received).
</para>
<para>
<!-- .LP -->
<function>XForceScreenSaver</function>
<xref linkend='XForceScreenSaver' xrefstyle='select: title'/>
can generate a
<errorname>BadValue</errorname>
error.
@ -1225,11 +1225,11 @@ error.
<!-- .LP -->
<!-- .sp -->
To activate the screen saver, use
<function>XActivateScreenSaver</function>.
<xref linkend='XActivateScreenSaver' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XActivateScreenSaver</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xactivatescreensaver'>
<funcsynopsis id='XActivateScreenSaver'>
<funcprototype>
<funcdef><function>XActivateScreenSaver</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1253,11 +1253,11 @@ Specifies the connection to the X server.
<!-- .eM -->
<!-- .sp -->
To reset the screen saver, use
<function>XResetScreenSaver</function>.
<xref linkend='XResetScreenSaver' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XResetScreenSaver</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xresetscreensaver'>
<funcsynopsis id='XResetScreenSaver'>
<funcprototype>
<funcdef><function>XResetScreenSaver</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1281,11 +1281,11 @@ Specifies the connection to the X server.
<!-- .eM -->
<!-- .sp -->
To get the current screen saver values, use
<function>XGetScreenSaver</function>.
<xref linkend='XGetScreenSaver' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XGetScreenSaver</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xgetscreensaver'>
<funcsynopsis id='XGetScreenSaver'>
<funcprototype>
<funcdef><function>XGetScreenSaver</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1528,11 +1528,11 @@ specify the length in byte of the type and value strings.
<!-- .LP -->
<!-- .sp -->
To add a single host, use
<function>XAddHost</function>.
<xref linkend='XAddHost' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XAddHost</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xaddhost'>
<funcsynopsis id='XAddHost'>
<funcprototype>
<funcdef><function>XAddHost</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1567,7 +1567,7 @@ Specifies the host that is to be (Ho.
<!-- .LP -->
<!-- .eM -->
The
<function>XAddHost</function>
<xref linkend='XAddHost' xrefstyle='select: title'/>
function adds the specified host to the access control list for that display.
The server must be on the same host as the client issuing the command, or a
<errorname>BadAccess</errorname>
@ -1575,7 +1575,7 @@ error results.
</para>
<para>
<!-- .LP -->
<function>XAddHost</function>
<xref linkend='XAddHost' xrefstyle='select: title'/>
can generate
<errorname>BadAccess</errorname>
and
@ -1586,11 +1586,11 @@ errors.
<!-- .LP -->
<!-- .sp -->
To add multiple hosts at one time, use
<function>XAddHosts</function>.
<xref linkend='XAddHosts' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XAddHosts</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xaddhosts'>
<funcsynopsis id='XAddHosts'>
<funcprototype>
<funcdef><function>XAddHosts</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1636,7 +1636,7 @@ Specifies the number of hosts.
<!-- .LP -->
<!-- .eM -->
The
<function>XAddHosts</function>
<xref linkend='XAddHosts' xrefstyle='select: title'/>
function adds each specified host to the access control list for that display.
The server must be on the same host as the client issuing the command, or a
<errorname>BadAccess</errorname>
@ -1644,7 +1644,7 @@ error results.
</para>
<para>
<!-- .LP -->
<function>XAddHosts</function>
<xref linkend='XAddHosts' xrefstyle='select: title'/>
can generate
<errorname>BadAccess</errorname>
and
@ -1655,11 +1655,11 @@ errors.
<!-- .LP -->
<!-- .sp -->
To obtain a host list, use
<function>XListHosts</function>.
<xref linkend='XListHosts' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XListHosts</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xlisthosts'>
<funcsynopsis id='XListHosts'>
<funcprototype>
<funcdef>XHostAddress *<function>XListHosts</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1704,26 +1704,26 @@ Returns the state of the access control.
<!-- .LP -->
<!-- .eM -->
The
<function>XListHosts</function>
<xref linkend='XListHosts' xrefstyle='select: title'/>
function returns the current access control list as well as whether the use
of the list at connection setup was enabled or disabled.
<function>XListHosts</function>
<xref linkend='XListHosts' xrefstyle='select: title'/>
allows a program to find out what machines can make connections.
It also returns a pointer to a list of host structures that
were allocated by the function.
When no longer needed,
this memory should be freed by calling
<function>XFree</function>.
<xref linkend='XFree' xrefstyle='select: title'/>.
</para>
<para>
<!-- .LP -->
<!-- .sp -->
To remove a single host, use
<function>XRemoveHost</function>.
<xref linkend='XRemoveHost' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XRemoveHost</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xremovehost'>
<funcsynopsis id='XRemoveHost'>
<funcprototype>
<funcdef><function>XRemoveHost</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1758,7 +1758,7 @@ Specifies the host that is to be (Ho.
<!-- .LP -->
<!-- .eM -->
The
<function>XRemoveHost</function>
<xref linkend='XRemoveHost' xrefstyle='select: title'/>
function removes the specified host from the access control list
for that display.
The server must be on the same host as the client process, or a
@ -1770,7 +1770,7 @@ and this operation cannot be reversed unless you reset the server.
</para>
<para>
<!-- .LP -->
<function>XRemoveHost</function>
<xref linkend='XRemoveHost' xrefstyle='select: title'/>
can generate
<errorname>BadAccess</errorname>
and
@ -1781,11 +1781,11 @@ errors.
<!-- .LP -->
<!-- .sp -->
To remove multiple hosts at one time, use
<function>XRemoveHosts</function>.
<xref linkend='XRemoveHosts' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XRemoveHosts</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xremovehosts'>
<funcsynopsis id='XRemoveHosts'>
<funcprototype>
<funcdef><function>XRemoveHosts</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1831,7 +1831,7 @@ Specifies the number of hosts.
<!-- .LP -->
<!-- .eM -->
The
<function>XRemoveHosts</function>
<xref linkend='XRemoveHosts' xrefstyle='select: title'/>
function removes each specified host from the access control list for that
display.
The X server must be on the same host as the client process, or a
@ -1843,7 +1843,7 @@ and this operation cannot be reversed unless you reset the server.
</para>
<para>
<!-- .LP -->
<function>XRemoveHosts</function>
<xref linkend='XRemoveHosts' xrefstyle='select: title'/>
can generate
<errorname>BadAccess</errorname>
and
@ -1872,11 +1872,11 @@ at connection setup.
<!-- .LP -->
<!-- .sp -->
To change access control, use
<function>XSetAccessControl</function>.
<xref linkend='XSetAccessControl' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XSetAccessControl</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xsetaccesscontrol'>
<funcsynopsis id='XSetAccessControl'>
<funcprototype>
<funcdef><function>XSetAccessControl</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1914,13 +1914,13 @@ or
<!-- .LP -->
<!-- .eM -->
The
<function>XSetAccessControl</function>
<xref linkend='XSetAccessControl' xrefstyle='select: title'/>
function either enables or disables the use of the access control list
at each connection setup.
</para>
<para>
<!-- .LP -->
<function>XSetAccessControl</function>
<xref linkend='XSetAccessControl' xrefstyle='select: title'/>
can generate
<errorname>BadAccess</errorname>
and
@ -1931,11 +1931,11 @@ errors.
<!-- .LP -->
<!-- .sp -->
To enable access control, use
<function>XEnableAccessControl</function>.
<xref linkend='XEnableAccessControl' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XEnableAccessControl</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xenableaccesscontrol'>
<funcsynopsis id='XEnableAccessControl'>
<funcprototype>
<funcdef><function>XEnableAccessControl</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1958,12 +1958,12 @@ Specifies the connection to the X server.
<!-- .LP -->
<!-- .eM -->
The
<function>XEnableAccessControl</function>
<xref linkend='XEnableAccessControl' xrefstyle='select: title'/>
function enables the use of the access control list at each connection setup.
</para>
<para>
<!-- .LP -->
<function>XEnableAccessControl</function>
<xref linkend='XEnableAccessControl' xrefstyle='select: title'/>
can generate a
<errorname>BadAccess</errorname>
error.
@ -1972,11 +1972,11 @@ error.
<!-- .LP -->
<!-- .sp -->
To disable access control, use
<function>XDisableAccessControl</function>.
<xref linkend='XDisableAccessControl' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XDisableAccessControl</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xdisableaccesscontrol'>
<funcsynopsis id='XDisableAccessControl'>
<funcprototype>
<funcdef><function>XDisableAccessControl</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1999,12 +1999,12 @@ Specifies the connection to the X server.
<!-- .LP -->
<!-- .eM -->
The
<function>XDisableAccessControl</function>
<xref linkend='XDisableAccessControl' xrefstyle='select: title'/>
function disables the use of the access control list at each connection setup.
</para>
<para>
<!-- .LP -->
<function>XDisableAccessControl</function>
<xref linkend='XDisableAccessControl' xrefstyle='select: title'/>
can generate a
<errorname>BadAccess</errorname>
error.

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
<chapter id="events">
<chapter id='Events'>
<title>Events</title>
<para>
@ -25,7 +25,7 @@ This chapter discusses the following topics associated with events:
<para>
Functions for handling events are dealt with in
<link linkend="event_handling_functions">the next chapter</link>.
<link linkend='Event_Handling_Functions'>the next chapter</link>.
</para>
<sect1 id="Event_Types">
@ -341,9 +341,9 @@ Unless the client suppresses them by setting graphics-exposures in the GC to
and
<symbol>NoExpose</symbol>
are reported by default as a result of
<function>XCopyPlane</function>
<xref linkend='XCopyPlane' xrefstyle='select: title'/>
and
<function>XCopyArea</function>.
<xref linkend='XCopyArea' xrefstyle='select: title'/>.
<symbol>SelectionClear</symbol>,
<symbol>SelectionRequest</symbol>,
<symbol>SelectionNotify</symbol>,
@ -887,7 +887,7 @@ If no matching passive grab on the button exists,
the X server automatically starts an active grab for the client receiving
the event and sets the last-pointer-grab time to the current server time.
The effect is essentially equivalent to an
<function>XGrabButton</function>
<xref linkend='XGrabButton' xrefstyle='select: title'/>
with these client passed arguments:
</para>
<informaltable>
@ -943,9 +943,9 @@ with these client passed arguments:
The active grab is automatically terminated when
the logical state of the pointer has all buttons released.
Clients can modify the active grab by calling
<function>XUngrabPointer</function>
<xref linkend='XUngrabPointer' xrefstyle='select: title'/>
and
<function>XChangeActivePointerGrab</function>.
<xref linkend='XChangeActivePointerGrab' xrefstyle='select: title'/>.
</para>
</sect2>
@ -972,7 +972,7 @@ and the pointer events
and
<symbol>MotionNotify</symbol>.
For information about the keyboard event-handling utilities,
see <link linkend="event_handling_functions">chapter 11</link>.
see <link linkend='Event_Handling_Functions'>chapter 11</link>.
</para>
<para>
<!-- .LP -->
@ -1092,9 +1092,9 @@ structure set to
to the client for the event window,
until either the key or button state changes,
the pointer leaves the event window, or the client calls
<function>XQueryPointer</function>
<xref linkend='XQueryPointer' xrefstyle='select: title'/>
or
<function>XGetMotionEvents</function>.
<xref linkend='XGetMotionEvents' xrefstyle='select: title'/>.
The server still may send
<symbol>MotionNotify</symbol>
events without is_hint set to
@ -1396,7 +1396,7 @@ follows:
</sect2>
</sect1>
<sect1 id="Window_Entry_Exit_Events">
<sect1 id='Window_EntryExit_Events'>
<title>Window Entry/Exit Events</title>
<!-- .XS -->
<!-- (SN Window Entry/Exit Events -->
@ -1452,9 +1452,9 @@ An
or
<symbol>LeaveNotify</symbol>
event also can be generated when some client application calls
<function>XGrabPointer</function>
<xref linkend='XGrabPointer' xrefstyle='select: title'/>
and
<function>XUngrabPointer</function>.
<xref linkend='XUngrabPointer' xrefstyle='select: title'/>.
</para>
<para>
<!-- .LP -->
@ -1620,7 +1620,7 @@ The detail member is set to indicate the notify detail and can be
or
<symbol>NotifyNonlinearVirtual</symbol>.
</para>
<sect2 id="Normal_Entry_Exit_Events">
<sect2 id='Normal_EntryExit_Events'>
<title>Normal Entry/Exit Events</title>
<!-- .XS -->
<!-- (SN Normal Entry/Exit Events -->
@ -1827,7 +1827,7 @@ structure set to
</listitem>
</itemizedlist>
</sect2>
<sect2 id="Grab_and_Ungrab_Entry_Exit_Events">
<sect2 id='Grab_and_Ungrab_EntryExit_Events'>
<title>Grab and Ungrab Entry/Exit Events</title>
<!-- .XS -->
<!-- (SN Grab and Ungrab Entry/Exit Events -->
@ -1854,7 +1854,7 @@ or
structures whose mode member is set to
<symbol>NotifyUngrab</symbol>
(see
<function>XGrabPointer</function>).
<xref linkend='XGrabPointer' xrefstyle='select: title'/>).
</para>
<itemizedlist>
<listitem>
@ -1875,7 +1875,7 @@ It generates
<symbol>EnterNotify</symbol>
and
<symbol>LeaveNotify</symbol>
events (see <link linkend="Normal_Entry_Exit_Events">section 10.6.1</link>)
events (see <link linkend='Normal_EntryExit_Events'>section 10.6.1</link>)
with the mode members of the
<type>XEnterWindowEvent</type>
and
@ -1907,7 +1907,7 @@ It generates
<symbol>EnterNotify</symbol>
and
<symbol>LeaveNotify</symbol>
events (see <link linkend="Normal_Entry_Exit_Events">section 10.6.1</link>)
events (see <link linkend='Normal_EntryExit_Events'>section 10.6.1</link>)
with the mode members of the
<type>XEnterWindowEvent</type>
and
@ -2044,8 +2044,8 @@ the detail member is set to indicate the notify detail and can be
or
<symbol>NotifyDetailNone</symbol>.
</para>
<sect2 id="Normal_Focus_Events_and_Focus_Events_While_Grabbed_">
<title>Normal Focus Events and Focus Events While Grabbed </title>
<sect2 id='Normal_Focus_Events_and_Focus_Events_While_Grabbed'>
<title>Normal Focus Events and Focus Events While Grabbed</title>
<!-- .XS -->
<!-- (SN Normal Focus Events and Focus Events While Grabbed -->
<!-- .XE -->
@ -2560,7 +2560,7 @@ or
structures whose mode member is set to
<symbol>NotifyUngrab</symbol>
(see
<function>XGrabKeyboard</function>).
<xref linkend='XGrabKeyboard' xrefstyle='select: title'/>).
</para>
<itemizedlist>
<listitem>
@ -2814,9 +2814,9 @@ The X server can report
<symbol>GraphicsExpose</symbol>
events to clients wanting information about when a destination region could not
be computed during certain graphics requests:
<function>XCopyArea</function>
<xref linkend='XCopyArea' xrefstyle='select: title'/>
or
<function>XCopyPlane</function>.
<xref linkend='XCopyPlane' xrefstyle='select: title'/>.
The X server generates this event whenever a destination region could not be
computed because of an obscured or out-of-bounds source region.
In addition, the X server guarantees to report contiguously all of the regions exposed by
@ -2850,9 +2850,9 @@ attribute of the graphics context to
<symbol>True</symbol>.
You also can set the graphics-expose attribute when creating a graphics
context using
<function>XCreateGC</function>
<xref linkend='XCreateGC' xrefstyle='select: title'/>
or by calling
<function>XSetGraphicsExposures</function>.
<xref linkend='XSetGraphicsExposures' xrefstyle='select: title'/>.
</para>
<para>
<!-- .LP -->
@ -2910,12 +2910,12 @@ or
If it is
<symbol>X_CopyArea</symbol>,
a call to
<function>XCopyArea</function>
<xref linkend='XCopyArea' xrefstyle='select: title'/>
initiated the request.
If it is
<symbol>X_CopyPlane</symbol>,
a call to
<function>XCopyPlane</function>
<xref linkend='XCopyPlane' xrefstyle='select: title'/>
initiated the request.
These constants are defined in
<filename class="headerfile">&lt;X11/Xproto.h&gt;</filename>.
@ -2950,8 +2950,8 @@ events (and possibly more) are to follow for this window.
</para>
</sect2>
</sect1>
<sect1 id="Window_State_Change_Events_">
<title>Window State Change Events </title>
<sect1 id='Window_State_Change_Events'>
<title>Window State Change Events</title>
<!-- .XS -->
<!-- (SN Window State Change Events -->
<!-- .XE -->
@ -3037,10 +3037,10 @@ events to clients wanting information about when a window changes
its position in the stack.
The X server generates this event type whenever a window is actually restacked
as a result of a client application calling
<function>XCirculateSubwindows</function>,
<function>XCirculateSubwindowsUp</function>,
<xref linkend='XCirculateSubwindows' xrefstyle='select: title'/>,
<xref linkend='XCirculateSubwindowsUp' xrefstyle='select: title'/>,
or
<function>XCirculateSubwindowsDown</function>.
<xref linkend='XCirculateSubwindowsDown' xrefstyle='select: title'/>.
</para>
<para>
<!-- .LP -->
@ -3120,47 +3120,47 @@ window requests made by a client application actually completes:
<para>
A window's size, position, border, and/or stacking order is reconfigured
by calling
<function>XConfigureWindow</function>.
<xref linkend='XConfigureWindow' xrefstyle='select: title'/>.
</para>
</listitem>
<listitem>
<para>
The window's position in the stacking order is changed by calling
<function>XLowerWindow</function>,
<function>XRaiseWindow</function>,
<xref linkend='XLowerWindow' xrefstyle='select: title'/>,
<xref linkend='XRaiseWindow' xrefstyle='select: title'/>,
or
<function>XRestackWindows</function>.
<xref linkend='XRestackWindows' xrefstyle='select: title'/>.
</para>
</listitem>
<listitem>
<para>
A window is moved by calling
<function>XMoveWindow</function>.
<xref linkend='XMoveWindow' xrefstyle='select: title'/>.
</para>
</listitem>
<listitem>
<para>
A window's size is changed by calling
<function>XResizeWindow</function>.
<xref linkend='XResizeWindow' xrefstyle='select: title'/>.
</para>
</listitem>
<listitem>
<para>
A window's size and location is changed by calling
<function>XMoveResizeWindow</function>.
<xref linkend='XMoveResizeWindow' xrefstyle='select: title'/>.
</para>
</listitem>
<listitem>
<para>
A window is mapped and its position in the stacking order is changed
by calling
<function>XMapRaised</function>.
<xref linkend='XMapRaised' xrefstyle='select: title'/>.
</para>
</listitem>
<listitem>
<para>
A window's border width is changed by calling
<function>XSetWindowBorderWidth</function>.
<xref linkend='XSetWindowBorderWidth' xrefstyle='select: title'/>.
</para>
</listitem>
</itemizedlist>
@ -3256,9 +3256,9 @@ The X server can report
events to clients wanting information about creation of windows.
The X server generates this event whenever a client
application creates a window by calling
<function>XCreateWindow</function>
<xref linkend='XCreateWindow' xrefstyle='select: title'/>
or
<function>XCreateSimpleWindow</function>.
<xref linkend='XCreateSimpleWindow' xrefstyle='select: title'/>.
</para>
<para>
<!-- .LP -->
@ -3326,9 +3326,9 @@ The X server can report
events to clients wanting information about which windows are destroyed.
The X server generates this event whenever a client application destroys a
window by calling
<function>XDestroyWindow</function>
<xref linkend='XDestroyWindow' xrefstyle='select: title'/>
or
<function>XDestroySubwindows</function>.
<xref linkend='XDestroySubwindows' xrefstyle='select: title'/>.
</para>
<para>
<!-- .LP -->
@ -3400,10 +3400,10 @@ events to clients wanting information about when a window is moved because of a
change in the size of its parent.
The X server generates this event whenever a client
application actually moves a child window as a result of resizing its parent by calling
<function>XConfigureWindow</function>,
<function>XMoveResizeWindow</function>,
<xref linkend='XConfigureWindow' xrefstyle='select: title'/>,
<xref linkend='XMoveResizeWindow' xrefstyle='select: title'/>,
or
<function>XResizeWindow</function>.
<xref linkend='XResizeWindow' xrefstyle='select: title'/>.
</para>
<para>
<!-- .LP -->
@ -3469,10 +3469,10 @@ The X server can report
events to clients wanting information about which windows are mapped.
The X server generates this event type whenever a client application changes the
window's state from unmapped to mapped by calling
<function>XMapWindow</function>,
<function>XMapRaised</function>,
<function>XMapSubwindows</function>,
<function>XReparentWindow</function>,
<xref linkend='XMapWindow' xrefstyle='select: title'/>,
<xref linkend='XMapRaised' xrefstyle='select: title'/>,
<xref linkend='XMapSubwindows' xrefstyle='select: title'/>,
<xref linkend='XReparentWindow' xrefstyle='select: title'/>,
or as a result of save-set processing.
</para>
<para>
@ -3546,19 +3546,19 @@ successfully calls:
<itemizedlist>
<listitem>
<para>
<function>XSetModifierMapping</function>
<xref linkend='XSetModifierMapping' xrefstyle='select: title'/>
to indicate which KeyCodes are to be used as modifiers
</para>
</listitem>
<listitem>
<para>
<function>XChangeKeyboardMapping</function>
<xref linkend='XChangeKeyboardMapping' xrefstyle='select: title'/>
to change the keyboard mapping
</para>
</listitem>
<listitem>
<para>
<function>XSetPointerMapping</function>
<xref linkend='XSetPointerMapping' xrefstyle='select: title'/>
to set the pointer mapping
</para>
</listitem>
@ -3616,7 +3616,7 @@ and count represents the number of keycodes altered.
<!-- .LP -->
To update the client application's knowledge of the keyboard,
you should call
<function>XRefreshKeyboardMapping</function>.
<xref linkend='XRefreshKeyboardMapping' xrefstyle='select: title'/>.
</para>
</sect2>
<sect2 id="ReparentNotify_Events">
@ -3633,7 +3633,7 @@ The X server can report
events to clients wanting information about changing a window's parent.
The X server generates this event whenever a client
application calls
<function>XReparentWindow</function>
<xref linkend='XReparentWindow' xrefstyle='select: title'/>
and the window is actually reparented.
</para>
<para>
@ -3936,10 +3936,10 @@ on a specified window.
The X server generates this event type whenever a client initiates a circulate
window request on a window and a subwindow actually needs to be restacked.
The client initiates a circulate window request on the window by calling
<function>XCirculateSubwindows</function>,
<function>XCirculateSubwindowsUp</function>,
<xref linkend='XCirculateSubwindows' xrefstyle='select: title'/>,
<xref linkend='XCirculateSubwindowsUp' xrefstyle='select: title'/>,
or
<function>XCirculateSubwindowsDown</function>.
<xref linkend='XCirculateSubwindowsDown' xrefstyle='select: title'/>.
</para>
<para>
<!-- .LP -->
@ -3952,7 +3952,7 @@ Then, in the future,
the circulate window request for the specified window is not executed,
and thus, any subwindow's position in the stack is not changed.
For example, suppose a client application calls
<function>XCirculateSubwindowsUp</function>
<xref linkend='XCirculateSubwindowsUp' xrefstyle='select: title'/>
to raise a subwindow to the top of the stack.
If you had selected
<symbol>SubstructureRedirectMask</symbol>
@ -4017,16 +4017,16 @@ The configure window request attempts to
reconfigure a window's size, position, border, and stacking order.
The X server generates this event whenever a different client initiates
a configure window request on a window by calling
<function>XConfigureWindow</function>,
<function>XLowerWindow</function>,
<function>XRaiseWindow</function>,
<function>XMapRaised</function>,
<function>XMoveResizeWindow</function>,
<function>XMoveWindow</function>,
<function>XResizeWindow</function>,
<function>XRestackWindows</function>,
<xref linkend='XConfigureWindow' xrefstyle='select: title'/>,
<xref linkend='XLowerWindow' xrefstyle='select: title'/>,
<xref linkend='XRaiseWindow' xrefstyle='select: title'/>,
<xref linkend='XMapRaised' xrefstyle='select: title'/>,
<xref linkend='XMoveResizeWindow' xrefstyle='select: title'/>,
<xref linkend='XMoveWindow' xrefstyle='select: title'/>,
<xref linkend='XResizeWindow' xrefstyle='select: title'/>,
<xref linkend='XRestackWindows' xrefstyle='select: title'/>,
or
<function>XSetWindowBorderWidth</function>.
<xref linkend='XSetWindowBorderWidth' xrefstyle='select: title'/>.
</para>
<para>
<!-- .LP -->
@ -4040,7 +4040,7 @@ events are generated when a
<systemitem>ConfigureWindow</systemitem>
protocol request is issued on a child window by another client.
For example, suppose a client application calls
<function>XLowerWindow</function>
<xref linkend='XLowerWindow' xrefstyle='select: title'/>
to lower a window.
If you had selected
<symbol>SubstructureRedirectMask</symbol>
@ -4116,10 +4116,10 @@ a map window request on an unmapped window whose override_redirect member
is set to
<symbol>False</symbol>.
Clients initiate map window requests by calling
<function>XMapWindow</function>,
<function>XMapRaised</function>,
<xref linkend='XMapWindow' xrefstyle='select: title'/>,
<xref linkend='XMapRaised' xrefstyle='select: title'/>,
or
<function>XMapSubwindows</function>.
<xref linkend='XMapSubwindows' xrefstyle='select: title'/>.
</para>
<para>
<!-- .LP -->
@ -4133,7 +4133,7 @@ the map window request functions is intercepted, and you are sent a
<symbol>MapRequest</symbol>
instead.
For example, suppose a client application calls
<function>XMapWindow</function>
<xref linkend='XMapWindow' xrefstyle='select: title'/>
to map a window.
If you (usually a window manager) had selected
<symbol>SubstructureRedirectMask</symbol>
@ -4190,10 +4190,10 @@ events to clients wanting information about another client's attempts to change
size of a window.
The X server generates this event whenever some other client attempts to change
the size of the specified window by calling
<function>XConfigureWindow</function>,
<function>XResizeWindow</function>,
<xref linkend='XConfigureWindow' xrefstyle='select: title'/>,
<xref linkend='XResizeWindow' xrefstyle='select: title'/>,
or
<function>XMoveResizeWindow</function>.
<xref linkend='XMoveResizeWindow' xrefstyle='select: title'/>.
</para>
<para>
<!-- .LP -->
@ -4257,18 +4257,18 @@ Changes the colormap member of the
<structname>XSetWindowAttributes</structname>
structure by
calling
<function>XChangeWindowAttributes</function>,
<function>XFreeColormap</function>,
<xref linkend='XChangeWindowAttributes' xrefstyle='select: title'/>,
<xref linkend='XFreeColormap' xrefstyle='select: title'/>,
or
<function>XSetWindowColormap</function>
<xref linkend='XSetWindowColormap' xrefstyle='select: title'/>
</para>
</listitem>
<listitem>
<para>
Installs or uninstalls the colormap by calling
<function>XInstallColormap</function>
<xref linkend='XInstallColormap' xrefstyle='select: title'/>
or
<function>XUninstallColormap</function>
<xref linkend='XUninstallColormap' xrefstyle='select: title'/>
</para>
</listitem>
</itemizedlist>
@ -4311,7 +4311,7 @@ colormap is changed, installed, or uninstalled.
For a colormap that is changed, installed, or uninstalled,
the colormap member is set to the colormap associated with the window.
For a colormap that is changed by a call to
<function>XFreeColormap</function>,
<xref linkend='XFreeColormap' xrefstyle='select: title'/>,
the colormap member is set to
<symbol>None</symbol>.
The new member is set to indicate whether the colormap
@ -4386,7 +4386,7 @@ events
The X server generates
<symbol>ClientMessage</symbol>
events only when a client calls the function
<function>XSendEvent</function>.
<xref linkend='XSendEvent' xrefstyle='select: title'/>.
</para>
<para>
<!-- .LP -->
@ -4491,22 +4491,22 @@ or
The state member is set to
<symbol>PropertyNewValue</symbol>
when a property of the window is changed using
<function>XChangeProperty</function>
<xref linkend='XChangeProperty' xrefstyle='select: title'/>
or
<function>XRotateWindowProperties</function>
<xref linkend='XRotateWindowProperties' xrefstyle='select: title'/>
(even when adding zero-length data using
<function>XChangeProperty</function>)
<xref linkend='XChangeProperty' xrefstyle='select: title'/>)
and when replacing all or part of a property with identical data using
<function>XChangeProperty</function>
<xref linkend='XChangeProperty' xrefstyle='select: title'/>
or
<function>XRotateWindowProperties</function>.
<xref linkend='XRotateWindowProperties' xrefstyle='select: title'/>.
The state member is set to
<symbol>PropertyDelete</symbol>
when a property of the window is deleted using
<function>XDeleteProperty</function>
<xref linkend='XDeleteProperty' xrefstyle='select: title'/>
or, if the delete argument is
<symbol>True</symbol>,
<function>XGetWindowProperty</function>.
<xref linkend='XGetWindowProperty' xrefstyle='select: title'/>.
</para>
</sect2>
<sect2 id="SelectionClear_Events">
@ -4523,7 +4523,7 @@ The X server reports
events to the client losing ownership of a selection.
The X server generates this event type when another client
asserts ownership of the selection by calling
<function>XSetSelectionOwner</function>.
<xref linkend='XSetSelectionOwner' xrefstyle='select: title'/>.
</para>
<para>
<!-- .LP -->
@ -4555,7 +4555,7 @@ The time member is set to the last change time recorded for the
selection.
The window member is the window that was specified by the current owner
(the owner losing the selection) in its
<function>XSetSelectionOwner</function>
<xref linkend='XSetSelectionOwner' xrefstyle='select: title'/>
call.
</para>
</sect2>
@ -4573,7 +4573,7 @@ The X server reports
events to the owner of a selection.
The X server generates this event whenever a client
requests a selection conversion by calling
<function>XConvertSelection</function>
<xref linkend='XConvertSelection' xrefstyle='select: title'/>
for the owned selection.
</para>
<para>
@ -4606,7 +4606,7 @@ typedef struct {
<!-- .eM -->
The owner member is set to the window
that was specified by the current owner in its
<function>XSetSelectionOwner</function>
<xref linkend='XSetSelectionOwner' xrefstyle='select: title'/>
call.
The requestor member is set to the window requesting the selection.
The selection member is set to the atom that names the selection.
@ -4645,7 +4645,7 @@ This event is generated by the X server in response to a
protocol request when there is no owner for the selection.
When there is an owner, it should be generated by the owner
of the selection by using
<function>XSendEvent</function>.
<xref linkend='XSendEvent' xrefstyle='select: title'/>.
The owner of a selection should send this event to a requestor when a selection
has been converted and stored as a property
or when a selection conversion could

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
<chapter id="event_handling_functions">
<chapter id='Event_Handling_Functions'>
<title>Event Handling Functions</title>
<para>
@ -38,15 +38,15 @@ application.
One way is to set the event_mask member of the
<structname>XSetWindowAttributes</structname>
structure when you call
<function>XCreateWindow</function>
<xref linkend='XCreateWindow' xrefstyle='select: title'/>
and
<function>XChangeWindowAttributes</function>.
<xref linkend='XChangeWindowAttributes' xrefstyle='select: title'/>.
Another way is to use
<function>XSelectInput</function>.
<xref linkend='XSelectInput' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XSelectInput</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xselectinput'>
<funcsynopsis id='XSelectInput'>
<funcprototype>
<funcdef><function>XSelectInput</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -92,7 +92,7 @@ Specifies the event mask.
<!-- .LP -->
<!-- .eM -->
The
<function>XSelectInput</function>
<xref linkend='XSelectInput' xrefstyle='select: title'/>
function requests that the X server report the events associated with the
specified event mask.
Initially, X will not report any of these events.
@ -156,7 +156,7 @@ The server reports the event to all interested clients.
</para>
<para>
<!-- .LP -->
<function>XSelectInput</function>
<xref linkend='XSelectInput' xrefstyle='select: title'/>
can generate a
<errorname>BadWindow</errorname>
error.
@ -180,11 +180,11 @@ These functions differ in the additional tasks they might perform.
<!-- .LP -->
<!-- .sp -->
To flush the output buffer, use
<function>XFlush</function>.
<xref linkend='XFlush' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XFlush</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xflush'>
<funcsynopsis id='XFlush'>
<funcprototype>
<funcdef><function>XFlush</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -207,15 +207,15 @@ Specifies the connection to the X server.
<!-- .LP -->
<!-- .eM -->
The
<function>XFlush</function>
<xref linkend='XFlush' xrefstyle='select: title'/>
function
flushes the output buffer.
Most client applications need not use this function because the output
buffer is automatically flushed as needed by calls to
<function>XPending</function>,
<function>XNextEvent</function>,
<xref linkend='XPending' xrefstyle='select: title'/>,
<xref linkend='XNextEvent' xrefstyle='select: title'/>,
and
<function>XWindowEvent</function>.
<xref linkend='XWindowEvent' xrefstyle='select: title'/>.
<indexterm><primary>XPending</primary></indexterm>
<indexterm><primary>XNextEvent</primary></indexterm>
<indexterm><primary>XWindowEvent</primary></indexterm>
@ -226,11 +226,11 @@ Events generated by the server may be enqueued into the library's event queue.
<!-- .sp -->
To flush the output buffer and then wait until all requests have been processed,
use
<function>XSync</function>.
<xref linkend='XSync' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XSync</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xsync'>
<funcsynopsis id='XSync'>
<funcprototype>
<funcdef><function>XSync</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -256,7 +256,7 @@ Specifies the connection to the X server.
<listitem>
<para>
Specifies a Boolean value that indicates whether
<function>XSync</function>
<xref linkend='XSync' xrefstyle='select: title'/>
discards all events on the event queue.
</para>
</listitem>
@ -266,13 +266,13 @@ discards all events on the event queue.
<!-- .LP -->
<!-- .eM -->
The
<function>XSync</function>
<xref linkend='XSync' xrefstyle='select: title'/>
function
flushes the output buffer and then waits until all requests have been received
and processed by the X server.
Any errors generated must be handled by the error handler.
For each protocol error received by Xlib,
<function>XSync</function>
<xref linkend='XSync' xrefstyle='select: title'/>
calls the client application's error handling routine
(see <link linkend="Using_the_Default_Error_Handlers">section 11.8.2</link>).
Any events generated by the server are enqueued into the library's
@ -282,17 +282,17 @@ event queue.
<!-- .LP -->
Finally, if you passed
<symbol>False</symbol>,
<function>XSync</function>
<xref linkend='XSync' xrefstyle='select: title'/>
does not discard the events in the queue.
If you passed
<symbol>True</symbol>,
<function>XSync</function>
<xref linkend='XSync' xrefstyle='select: title'/>
discards all events in the queue,
including those events that were on the queue before
<function>XSync</function>
<xref linkend='XSync' xrefstyle='select: title'/>
was called.
Client applications seldom need to call
<function>XSync</function>.
<xref linkend='XSync' xrefstyle='select: title'/>.
</para>
</sect1>
<sect1 id="Event_Queue_Management">
@ -310,11 +310,11 @@ in its network connection that is not yet read into the event queue.
<!-- .LP -->
<!-- .sp -->
To check the number of events in the event queue, use
<function>XEventsQueued</function>.
<xref linkend='XEventsQueued' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XEventsQueued</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xeventsqueued'>
<funcsynopsis id='XEventsQueued'>
<funcprototype>
<funcdef>int <function>XEventsQueued</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -354,53 +354,53 @@ or
<!-- .eM -->
If mode is
<symbol>QueuedAlready</symbol>,
<function>XEventsQueued</function>
<xref linkend='XEventsQueued' xrefstyle='select: title'/>
returns the number of events
already in the event queue (and never performs a system call).
If mode is
<symbol>QueuedAfterFlush</symbol>,
<function>XEventsQueued</function>
<xref linkend='XEventsQueued' xrefstyle='select: title'/>
returns the number of events already in the queue if the number is nonzero.
If there are no events in the queue,
<function>XEventsQueued</function>
<xref linkend='XEventsQueued' xrefstyle='select: title'/>
flushes the output buffer,
attempts to read more events out of the application's connection,
and returns the number read.
If mode is
<symbol>QueuedAfterReading</symbol>,
<function>XEventsQueued</function>
<xref linkend='XEventsQueued' xrefstyle='select: title'/>
returns the number of events already in the queue if the number is nonzero.
If there are no events in the queue,
<function>XEventsQueued</function>
<xref linkend='XEventsQueued' xrefstyle='select: title'/>
attempts to read more events out of the application's connection
without flushing the output buffer and returns the number read.
</para>
<para>
<!-- .LP -->
<function>XEventsQueued</function>
<xref linkend='XEventsQueued' xrefstyle='select: title'/>
always returns immediately without I/O if there are events already in the
queue.
<function>XEventsQueued</function>
<xref linkend='XEventsQueued' xrefstyle='select: title'/>
with mode
<symbol>QueuedAfterFlush</symbol>
is identical in behavior to
<function>XPending</function>.
<function>XEventsQueued</function>
<xref linkend='XPending' xrefstyle='select: title'/>.
<xref linkend='XEventsQueued' xrefstyle='select: title'/>
with mode
<symbol>QueuedAlready</symbol>
is identical to the
<function>XQLength</function>
<xref linkend='XQLength' xrefstyle='select: title'/>
function.
</para>
<para>
<!-- .LP -->
<!-- .sp -->
To return the number of events that are pending, use
<function>XPending</function>.
<xref linkend='XPending' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XPending</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xpending'>
<funcsynopsis id='XPending'>
<funcprototype>
<funcdef>int <function>XPending</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -423,12 +423,12 @@ Specifies the connection to the X server.
<!-- .LP -->
<!-- .eM -->
The
<function>XPending</function>
<xref linkend='XPending' xrefstyle='select: title'/>
function returns the number of events that have been received from the
X server but have not been removed from the event queue.
<function>XPending</function>
<xref linkend='XPending' xrefstyle='select: title'/>
is identical to
<function>XEventsQueued</function>
<xref linkend='XEventsQueued' xrefstyle='select: title'/>
with the mode
<symbol>QueuedAfterFlush</symbol>
specified.
@ -470,11 +470,11 @@ predicate procedures that you provide
<para>
<!-- .LP -->
To get the next event and remove it from the queue, use
<function>XNextEvent</function>.
<xref linkend='XNextEvent' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XNextEvent</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xnextevent'>
<funcsynopsis id='XNextEvent'>
<funcprototype>
<funcdef><function>XNextEvent</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -508,23 +508,23 @@ Returns the next event in the queue.
<!-- .LP -->
<!-- .eM -->
The
<function>XNextEvent</function>
<xref linkend='XNextEvent' xrefstyle='select: title'/>
function copies the first event from the event queue into the specified
<structname>XEvent</structname>
structure and then removes it from the queue.
If the event queue is empty,
<function>XNextEvent</function>
<xref linkend='XNextEvent' xrefstyle='select: title'/>
flushes the output buffer and blocks until an event is received.
</para>
<para>
<!-- .LP -->
<!-- .sp -->
To peek at the event queue, use
<function>XPeekEvent</function>.
<xref linkend='XPeekEvent' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XPeekEvent</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xpeekevent'>
<funcsynopsis id='XPeekEvent'>
<funcprototype>
<funcdef><function>XPeekEvent</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -558,11 +558,11 @@ Returns a copy of the matched event's associated structure.
<!-- .LP -->
<!-- .eM -->
The
<function>XPeekEvent</function>
<xref linkend='XPeekEvent' xrefstyle='select: title'/>
function returns the first event from the event queue,
but it does not remove the event from the queue.
If the queue is empty,
<function>XPeekEvent</function>
<xref linkend='XPeekEvent' xrefstyle='select: title'/>
flushes the output buffer and blocks until an event is received.
It then copies the event into the client-supplied
<structname>XEvent</structname>
@ -633,10 +633,10 @@ structure.
<listitem>
<para>
Specifies the argument passed in from the
<function>XIfEvent</function>,
<function>XCheckIfEvent</function>,
<xref linkend='XIfEvent' xrefstyle='select: title'/>,
<xref linkend='XCheckIfEvent' xrefstyle='select: title'/>,
or
<function>XPeekIfEvent</function>
<xref linkend='XPeekIfEvent' xrefstyle='select: title'/>
function.
</para>
</listitem>
@ -657,11 +657,11 @@ If it did not find a match, it must return
<!-- .sp -->
To check the event queue for a matching event
and, if found, remove the event from the queue, use
<function>XIfEvent</function>.
<xref linkend='XIfEvent' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XIfEvent</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xifevent'>
<funcsynopsis id='XIfEvent'>
<funcprototype>
<funcdef><function>XIfEvent</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -718,15 +718,15 @@ Specifies the user-supplied argument that will be passed to the predicate proced
<!-- .LP -->
<!-- .eM -->
The
<function>XIfEvent</function>
<xref linkend='XIfEvent' xrefstyle='select: title'/>
function completes only when the specified predicate
procedure returns
<symbol>True</symbol>
for an event,
which indicates an event in the queue matches.
<function>XIfEvent</function>
<xref linkend='XIfEvent' xrefstyle='select: title'/>
flushes the output buffer if it blocks waiting for additional events.
<function>XIfEvent</function>
<xref linkend='XIfEvent' xrefstyle='select: title'/>
removes the matching event from the queue
and copies the structure into the client-supplied
<structname>XEvent</structname>
@ -736,11 +736,11 @@ structure.
<!-- .LP -->
<!-- .sp -->
To check the event queue for a matching event without blocking, use
<function>XCheckIfEvent</function>.
<xref linkend='XCheckIfEvent' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XCheckIfEvent</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xcheckifevent'>
<funcsynopsis id='XCheckIfEvent'>
<funcprototype>
<funcdef>Bool <function>XCheckIfEvent</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -797,14 +797,14 @@ Specifies the user-supplied argument that will be passed to the predicate proced
<!-- .LP -->
<!-- .eM -->
When the predicate procedure finds a match,
<function>XCheckIfEvent</function>
<xref linkend='XCheckIfEvent' xrefstyle='select: title'/>
copies the matched event into the client-supplied
<structname>XEvent</structname>
structure and returns
<symbol>True</symbol>.
(This event is removed from the queue.)
If the predicate procedure finds no match,
<function>XCheckIfEvent</function>
<xref linkend='XCheckIfEvent' xrefstyle='select: title'/>
returns
<symbol>False</symbol>,
and the output buffer will have been flushed.
@ -815,11 +815,11 @@ All earlier events stored in the queue are not discarded.
<!-- .sp -->
To check the event queue for a matching event
without removing the event from the queue, use
<function>XPeekIfEvent</function>.
<xref linkend='XPeekIfEvent' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XPeekIfEvent</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xpeekifevent'>
<funcsynopsis id='XPeekIfEvent'>
<funcprototype>
<funcdef><function>XPeekIfEvent</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -876,17 +876,17 @@ Specifies the user-supplied argument that will be passed to the predicate proced
<!-- .LP -->
<!-- .eM -->
The
<function>XPeekIfEvent</function>
<xref linkend='XPeekIfEvent' xrefstyle='select: title'/>
function returns only when the specified predicate
procedure returns
<symbol>True</symbol>
for an event.
After the predicate procedure finds a match,
<function>XPeekIfEvent</function>
<xref linkend='XPeekIfEvent' xrefstyle='select: title'/>
copies the matched event into the client-supplied
<structname>XEvent</structname>
structure without removing the event from the queue.
<function>XPeekIfEvent</function>
<xref linkend='XPeekIfEvent' xrefstyle='select: title'/>
flushes the output buffer if it blocks waiting for additional events.
</para>
</sect2>
@ -904,11 +904,11 @@ or event types, allowing you to process events out of order.
<!-- .LP -->
<!-- .sp -->
To remove the next event that matches both a window and an event mask, use
<function>XWindowEvent</function>.
<xref linkend='XWindowEvent' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XWindowEvent</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xwindowevent'>
<funcsynopsis id='XWindowEvent'>
<funcprototype>
<funcdef><function>XWindowEvent</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -965,17 +965,17 @@ Returns the matched event's associated structure.
<!-- .LP -->
<!-- .eM -->
The
<function>XWindowEvent</function>
<xref linkend='XWindowEvent' xrefstyle='select: title'/>
function searches the event queue for an event that matches both the specified
window and event mask.
When it finds a match,
<function>XWindowEvent</function>
<xref linkend='XWindowEvent' xrefstyle='select: title'/>
removes that event from the queue and copies it into the specified
<structname>XEvent</structname>
structure.
The other events stored in the queue are not discarded.
If a matching event is not in the queue,
<function>XWindowEvent</function>
<xref linkend='XWindowEvent' xrefstyle='select: title'/>
flushes the output buffer and blocks until one is received.
</para>
<para>
@ -983,17 +983,17 @@ flushes the output buffer and blocks until one is received.
<!-- .sp -->
To remove the next event that matches both a window and an event mask (if any),
use
<function>XCheckWindowEvent</function>.
<xref linkend='XCheckWindowEvent' xrefstyle='select: title'/>.
<indexterm><primary>XCheckWindowEvent</primary></indexterm>
This function is similar to
<function>XWindowEvent</function>
<xref linkend='XWindowEvent' xrefstyle='select: title'/>
except that it never blocks and it returns a
<type>Bool</type>
indicating if the event was returned.
</para>
<indexterm significance="preferred"><primary>XCheckWindowEvent</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xcheckwindowevent'>
<funcsynopsis id='XCheckWindowEvent'>
<funcprototype>
<funcdef>Bool <function>XCheckWindowEvent</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1050,19 +1050,19 @@ Returns the matched event's associated structure.
<!-- .LP -->
<!-- .eM -->
The
<function>XCheckWindowEvent</function>
<xref linkend='XCheckWindowEvent' xrefstyle='select: title'/>
function searches the event queue and then the events available
on the server connection for the first event that matches the specified window
and event mask.
If it finds a match,
<function>XCheckWindowEvent</function>
<xref linkend='XCheckWindowEvent' xrefstyle='select: title'/>
removes that event, copies it into the specified
<structname>XEvent</structname>
structure, and returns
<symbol>True</symbol>.
The other events stored in the queue are not discarded.
If the event you requested is not available,
<function>XCheckWindowEvent</function>
<xref linkend='XCheckWindowEvent' xrefstyle='select: title'/>
returns
<symbol>False</symbol>,
and the output buffer will have been flushed.
@ -1071,11 +1071,11 @@ and the output buffer will have been flushed.
<!-- .LP -->
<!-- .sp -->
To remove the next event that matches an event mask, use
<function>XMaskEvent</function>.
<xref linkend='XMaskEvent' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XMaskEvent</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xmaskevent'>
<funcsynopsis id='XMaskEvent'>
<funcprototype>
<funcdef><function>XMaskEvent</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1120,33 +1120,33 @@ Returns the matched event's associated structure.
<!-- .LP -->
<!-- .eM -->
The
<function>XMaskEvent</function>
<xref linkend='XMaskEvent' xrefstyle='select: title'/>
function searches the event queue for the events associated with the
specified mask.
When it finds a match,
<function>XMaskEvent</function>
<xref linkend='XMaskEvent' xrefstyle='select: title'/>
removes that event and copies it into the specified
<structname>XEvent</structname>
structure.
The other events stored in the queue are not discarded.
If the event you requested is not in the queue,
<function>XMaskEvent</function>
<xref linkend='XMaskEvent' xrefstyle='select: title'/>
flushes the output buffer and blocks until one is received.
</para>
<para>
<!-- .LP -->
<!-- .sp -->
To return and remove the next event that matches an event mask (if any), use
<function>XCheckMaskEvent</function>.
<xref linkend='XCheckMaskEvent' xrefstyle='select: title'/>.
This function is similar to
<function>XMaskEvent</function>
<xref linkend='XMaskEvent' xrefstyle='select: title'/>
except that it never blocks and it returns a
<type>Bool</type>
indicating if the event was returned.
</para>
<indexterm significance="preferred"><primary>XCheckMaskEvent</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xcheckmaskevent'>
<funcsynopsis id='XCheckMaskEvent'>
<funcprototype>
<funcdef>Bool <function>XCheckMaskEvent</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1191,18 +1191,18 @@ Returns the matched event's associated structure.
<!-- .LP -->
<!-- .eM -->
The
<function>XCheckMaskEvent</function>
<xref linkend='XCheckMaskEvent' xrefstyle='select: title'/>
function searches the event queue and then any events available on the
server connection for the first event that matches the specified mask.
If it finds a match,
<function>XCheckMaskEvent</function>
<xref linkend='XCheckMaskEvent' xrefstyle='select: title'/>
removes that event, copies it into the specified
<structname>XEvent</structname>
structure, and returns
<symbol>True</symbol>.
The other events stored in the queue are not discarded.
If the event you requested is not available,
<function>XCheckMaskEvent</function>
<xref linkend='XCheckMaskEvent' xrefstyle='select: title'/>
returns
<symbol>False</symbol>,
and the output buffer will have been flushed.
@ -1211,11 +1211,11 @@ and the output buffer will have been flushed.
<!-- .LP -->
<!-- .sp -->
To return and remove the next event in the queue that matches an event type, use
<function>XCheckTypedEvent</function>.
<xref linkend='XCheckTypedEvent' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XCheckTypedEvent</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xchecktypedevent'>
<funcsynopsis id='XCheckTypedEvent'>
<funcprototype>
<funcdef>Bool <function>XCheckTypedEvent</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1261,18 +1261,18 @@ Returns the matched event's associated structure.
<!-- .LP -->
<!-- .eM -->
The
<function>XCheckTypedEvent</function>
<xref linkend='XCheckTypedEvent' xrefstyle='select: title'/>
function searches the event queue and then any events available
on the server connection for the first event that matches the specified type.
If it finds a match,
<function>XCheckTypedEvent</function>
<xref linkend='XCheckTypedEvent' xrefstyle='select: title'/>
removes that event, copies it into the specified
<structname>XEvent</structname>
structure, and returns
<symbol>True</symbol>.
The other events in the queue are not discarded.
If the event is not available,
<function>XCheckTypedEvent</function>
<xref linkend='XCheckTypedEvent' xrefstyle='select: title'/>
returns
<symbol>False</symbol>,
and the output buffer will have been flushed.
@ -1282,11 +1282,11 @@ and the output buffer will have been flushed.
<!-- .sp -->
To return and remove the next event in the queue that matches an event type
and a window, use
<function>XCheckTypedWindowEvent</function>.
<xref linkend='XCheckTypedWindowEvent' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XCheckTypedWindowEvent</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xchecktypedwindowevent'>
<funcsynopsis id='XCheckTypedWindowEvent'>
<funcprototype>
<funcdef>Bool <function>XCheckTypedWindowEvent</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1343,19 +1343,19 @@ Returns the matched event's associated structure.
<!-- .LP -->
<!-- .eM -->
The
<function>XCheckTypedWindowEvent</function>
<xref linkend='XCheckTypedWindowEvent' xrefstyle='select: title'/>
function searches the event queue and then any events available
on the server connection for the first event that matches the specified
type and window.
If it finds a match,
<function>XCheckTypedWindowEvent</function>
<xref linkend='XCheckTypedWindowEvent' xrefstyle='select: title'/>
removes the event from the queue, copies it into the specified
<structname>XEvent</structname>
structure, and returns
<symbol>True</symbol>.
The other events in the queue are not discarded.
If the event is not available,
<function>XCheckTypedWindowEvent</function>
<xref linkend='XCheckTypedWindowEvent' xrefstyle='select: title'/>
returns
<symbol>False</symbol>,
and the output buffer will have been flushed.
@ -1370,11 +1370,11 @@ and the output buffer will have been flushed.
<para>
<!-- .LP -->
To push an event back into the event queue, use
<function>XPutBackEvent</function>.
<xref linkend='XPutBackEvent' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XPutBackEvent</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xputbackevent'>
<funcsynopsis id='XPutBackEvent'>
<funcprototype>
<funcdef><function>XPutBackEvent</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1408,13 +1408,13 @@ Specifies the event.
<!-- .LP -->
<!-- .eM -->
The
<function>XPutBackEvent</function>
<xref linkend='XPutBackEvent' xrefstyle='select: title'/>
function pushes an event back onto the head of the display's event queue
by copying the event into the queue.
This can be useful if you read an event and then decide that you
would rather deal with it later.
There is no limit to the number of times in succession that you can call
<function>XPutBackEvent</function>.
<xref linkend='XPutBackEvent' xrefstyle='select: title'/>.
</para>
</sect1>
<sect1 id="Sending_Events_to_Other_Applications">
@ -1425,11 +1425,11 @@ There is no limit to the number of times in succession that you can call
<para>
<!-- .LP -->
To send an event to a specified window, use
<function>XSendEvent</function>.
<xref linkend='XSendEvent' xrefstyle='select: title'/>.
<indexterm><primary>XSendEvent</primary></indexterm>
This function is often used in selection processing.
For example, the owner of a selection should use
<function>XSendEvent</function>
<xref linkend='XSendEvent' xrefstyle='select: title'/>
to send a
<symbol>SelectionNotify</symbol>
event to a requestor when a selection has been converted
@ -1437,7 +1437,7 @@ and stored as a property.
</para>
<indexterm significance="preferred"><primary>XSendEvent</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xsendevent'>
<funcsynopsis id='XSendEvent'>
<funcprototype>
<funcdef>Status <function>XSendEvent</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1507,7 +1507,7 @@ Specifies the event that is to be sent.
<!-- .LP -->
<!-- .eM -->
The
<function>XSendEvent</function>
<xref linkend='XSendEvent' xrefstyle='select: title'/>
function identifies the destination window,
determines which clients should receive the specified events,
and ignores any active grabs.
@ -1537,7 +1537,7 @@ otherwise, the destination window is the focus window.
<para>
<!-- .LP -->
To determine which clients should receive the specified events,
<function>XSendEvent</function>
<xref linkend='XSendEvent' xrefstyle='select: title'/>
uses the propagate argument as follows:
</para>
<itemizedlist>
@ -1591,17 +1591,17 @@ otherwise unaltered and unchecked by the X server except to force send_event to
in the forwarded event and to set the serial number in the event correctly;
therefore these fields
and the display field are ignored by
<function>XSendEvent</function>.
<xref linkend='XSendEvent' xrefstyle='select: title'/>.
</para>
<para>
<!-- .LP -->
<function>XSendEvent</function>
<xref linkend='XSendEvent' xrefstyle='select: title'/>
returns zero if the conversion to wire protocol format failed
and returns nonzero otherwise.
</para>
<para>
<!-- .LP -->
<function>XSendEvent</function>
<xref linkend='XSendEvent' xrefstyle='select: title'/>
can generate
<errorname>BadValue</errorname>
and
@ -1635,7 +1635,7 @@ use
</para>
<indexterm significance="preferred"><primary>XDisplayMotionBufferSize</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xdisplaymotionbuffersize'>
<funcsynopsis id='XGetMotionEvents'>
<funcprototype>
<funcdef>unsigned <type>long</type></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1662,14 +1662,14 @@ and do so to a finer granularity than is reported by
<symbol>MotionNotify</symbol>
events.
The
<function>XGetMotionEvents</function>
<xref linkend='XGetMotionEvents' xrefstyle='select: title'/>
function makes this history available.
</para>
<para>
<!-- .LP -->
<!-- .sp -->
To get the motion history for a specified window and time, use
<function>XGetMotionEvents</function>.
<xref linkend='XGetMotionEvents' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XGetMotionEvents</primary></indexterm>
<!-- .sM -->
@ -1743,7 +1743,7 @@ Returns the number of events from the motion history buffer.
<!-- .LP -->
<!-- .eM -->
The
<function>XGetMotionEvents</function>
<xref linkend='XGetMotionEvents' xrefstyle='select: title'/>
function returns all events in the motion history buffer that fall between the
specified start and stop times, inclusive, and that have coordinates
that lie within the specified window (including its borders) at its present
@ -1752,7 +1752,7 @@ If the server does not support motion history,
if the start time is later than the stop time,
or if the start time is in the future,
no events are returned;
<function>XGetMotionEvents</function>
<xref linkend='XGetMotionEvents' xrefstyle='select: title'/>
returns NULL.
If the stop time is in the future, it is equivalent to specifying
<symbol>CurrentTime</symbol>.
@ -1779,11 +1779,11 @@ The x and y members are set to the coordinates of the pointer and
are reported relative to the origin
of the specified window.
To free the data returned from this call, use
<function>XFree</function>.
<xref linkend='XFree' xrefstyle='select: title'/>.
</para>
<para>
<!-- .LP -->
<function>XGetMotionEvents</function>
<xref linkend='XGetMotionEvents' xrefstyle='select: title'/>
can generate a
<errorname>BadWindow</errorname>
error.
@ -1824,12 +1824,12 @@ synchronous library behavior.
After completing their work,
all Xlib functions that generate protocol requests call what is known as
an after function.
<function>XSetAfterFunction</function>
<xref linkend='XSetAfterFunction' xrefstyle='select: title'/>
sets which function is to be called.
</para>
<indexterm significance="preferred"><primary>XSetAfterFunction</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xsetafterfunction'>
<funcsynopsis id='XSetAfterFunction'>
<funcprototype>
<funcdef><type>int</type></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1863,7 +1863,7 @@ Specifies the procedure to be called.
<!-- .LP -->
<!-- .eM -->
The specified procedure is called with only a display pointer.
<function>XSetAfterFunction</function>
<xref linkend='XSetAfterFunction' xrefstyle='select: title'/>
returns the previous after function.
</para>
<para>
@ -1946,11 +1946,11 @@ message and exit.
<!-- .LP -->
<!-- .sp -->
To set the error handler, use
<function>XSetErrorHandler</function>.
<xref linkend='XSetErrorHandler' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XSetErrorHandler</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xseterrorhandler'>
<funcsynopsis id='XSetErrorHandler'>
<funcprototype>
<funcdef>int *<function>XSetErrorHandler</function></funcdef>
<paramdef>int <parameter> *handler</parameter></paramdef>
@ -2213,12 +2213,12 @@ fixed alternatives.
<para>
<!-- .LP -->
To obtain textual descriptions of the specified error code, use
<function>XGetErrorText</function>.
<xref linkend='XGetErrorText' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XGetErrorText</primary></indexterm>
<indexterm><primary>Debugging</primary><secondary>error message strings</secondary></indexterm>
<!-- .sM -->
<funcsynopsis id='xgeterrortext'>
<funcsynopsis id='XGetErrorText'>
<funcprototype>
<funcdef><function>XGetErrorText</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -2274,7 +2274,7 @@ Specifies the size of the buffer.
<!-- .LP -->
<!-- .eM -->
The
<function>XGetErrorText</function>
<xref linkend='XGetErrorText' xrefstyle='select: title'/>
function copies a null-terminated string describing the specified error code
into the specified buffer.
The returned text is in the encoding of the current locale.
@ -2286,11 +2286,11 @@ and error strings.
<!-- .LP -->
<!-- .sp -->
To obtain error messages from the error database, use
<function>XGetErrorDatabaseText</function>.
<xref linkend='XGetErrorDatabaseText' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XGetErrorDatabaseText</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xgeterrordatabasetext'>
<funcsynopsis id='XGetErrorDatabaseText'>
<funcprototype>
<funcdef><function>XGetErrorDatabaseText</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -2367,7 +2367,7 @@ Specifies the size of the buffer.
<!-- .LP -->
<!-- .eM -->
The
<function>XGetErrorDatabaseText</function>
<xref linkend='XGetErrorDatabaseText' xrefstyle='select: title'/>
function returns a null-terminated message
(or the default message) from the error message
database.
@ -2431,11 +2431,11 @@ the default_string is returned to the buffer argument.
<!-- .LP -->
<!-- .sp -->
To report an error to the user when the requested display does not exist, use
<function>XDisplayName</function>.
<xref linkend='XDisplayName' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XDisplayName</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xdisplayname'>
<funcsynopsis id='XDisplayName'>
<funcprototype>
<funcdef>char *<function>XDisplayName</function></funcdef>
<paramdef>char<parameter> *string</parameter></paramdef>
@ -2458,14 +2458,14 @@ Specifies the character string.
<!-- .LP -->
<!-- .eM -->
The
<function>XDisplayName</function>
<xref linkend='XDisplayName' xrefstyle='select: title'/>
function returns the name of the display that
<function>XOpenDisplay</function>
<xref linkend='XOpenDisplay' xrefstyle='select: title'/>
would attempt to use.
If a NULL string is specified,
<function>XDisplayName</function>
<xref linkend='XDisplayName' xrefstyle='select: title'/>
looks in the environment for the display and returns the display name that
<function>XOpenDisplay</function>
<xref linkend='XOpenDisplay' xrefstyle='select: title'/>
would attempt to use.
This makes it easier to report to the user precisely which display the
program attempted to open when the initial connection attempt failed.

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
<chapter id="resource_manager_functions">
<chapter id='Resource_Manager_Functions'>
<title>Resource Manager Functions</title>
<!-- .sp 2 -->
<!-- .nr H1 15 -->
@ -406,7 +406,7 @@ typedef XrmQuarkList XrmClassList;
<!-- .eM -->
<!-- .sp -->
To convert a string to a quark, use
<function>XrmStringToQuark</function>
<xref linkend='XrmStringToQuark' xrefstyle='select: title'/>
or
<function>XrmPermStringToQuark</function>.
</para>
@ -419,7 +419,7 @@ or
<indexterm significance="preferred"><primary>XrmStringToQuark</primary></indexterm>
<indexterm significance="preferred"><primary>XrmPermStringToQuark</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xrmstringtoquark'>
<funcsynopsis id='XrmStringToQuark'>
<funcprototype>
<funcdef>XrmQuark <function>XrmStringToQuark</function></funcdef>
<paramdef>char<parameter> *string</parameter></paramdef>
@ -446,20 +446,20 @@ These functions can be used to convert from string to quark representation.
If the string is not in the Host Portable Character Encoding,
the conversion is implementation-dependent.
The string argument to
<function>XrmStringToQuark</function>
<xref linkend='XrmStringToQuark' xrefstyle='select: title'/>
need not be permanently allocated storage.
<function>XrmPermStringToQuark</function>
is just like
<function>XrmStringToQuark</function>,
<xref linkend='XrmStringToQuark' xrefstyle='select: title'/>,
except that Xlib is permitted to assume the string argument is permanently
allocated,
and, hence, that it can be used as the value to be returned by
<function>XrmQuarkToString</function>.
<xref linkend='XrmQuarkToString' xrefstyle='select: title'/>.
</para>
<para>
<!-- .LP -->
For any given quark, if
<function>XrmStringToQuark</function>
<xref linkend='XrmStringToQuark' xrefstyle='select: title'/>
returns a non-NULL value,
all future calls will return the same value (identical address).
</para>
@ -467,7 +467,7 @@ all future calls will return the same value (identical address).
<!-- .LP -->
<!-- .sp -->
To convert a quark to a string, use
<function>XrmQuarkToString</function>.
<xref linkend='XrmQuarkToString' xrefstyle='select: title'/>.
</para>
<literallayout class="monospaced">
@ -477,7 +477,7 @@ To convert a quark to a string, use
</literallayout>
<indexterm significance="preferred"><primary>XrmQuarkToString</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xrmquarktostring'>
<funcsynopsis id='XrmQuarkToString'>
<funcprototype>
<funcdef>char *<function>XrmQuarkToString</function></funcdef>
<paramdef>XrmQuark<parameter> quark</parameter></paramdef>
@ -503,10 +503,10 @@ The string pointed to by the return value must not be modified or freed.
The returned string is byte-for-byte equal to the original
string passed to one of the string-to-quark routines.
If no string exists for that quark,
<function>XrmQuarkToString</function>
<xref linkend='XrmQuarkToString' xrefstyle='select: title'/>
returns NULL.
For any given quark, if
<function>XrmQuarkToString</function>
<xref linkend='XrmQuarkToString' xrefstyle='select: title'/>
returns a non-NULL value,
all future calls will return the same value (identical address).
</para>
@ -514,7 +514,7 @@ all future calls will return the same value (identical address).
<!-- .LP -->
<!-- .sp -->
To convert a string with one or more components to a quark list, use
<function>XrmStringToQuarkList</function>.
<xref linkend='XrmStringToQuarkList' xrefstyle='select: title'/>.
</para>
<literallayout class="monospaced">
@ -524,7 +524,7 @@ To convert a string with one or more components to a quark list, use
<indexterm significance="preferred"><primary>XrmStringToQuarkList</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xrmstringtoquarklist'>
<funcsynopsis id='XrmStringToQuarkList'>
<funcprototype>
<funcdef>void <function>XrmStringToQuarkList</function></funcdef>
<paramdef>char<parameter> *string</parameter></paramdef>
@ -552,7 +552,7 @@ Specifies the string for which a quark(Ql is to be allocated.
<para>
Returns the list of quarks.
The caller must allocate sufficient space for the quarks list before calling
<function>XrmStringToQuarkList</function>.
<xref linkend='XrmStringToQuarkList' xrefstyle='select: title'/>.
</para>
</listitem>
</varlistentry>
@ -562,7 +562,7 @@ The caller must allocate sufficient space for the quarks list before calling
<!-- .LP -->
<!-- .eM -->
The
<function>XrmStringToQuarkList</function>
<xref linkend='XrmStringToQuarkList' xrefstyle='select: title'/>
function converts the null-terminated string (generally a fully qualified name)
to a list of quarks.
Note that the string must be in the valid ResourceName format
@ -595,11 +595,11 @@ indicates that an asterisk separates the components.
<!-- .sp -->
To convert a string with one or more components to a binding list
and a quark list, use
<function>XrmStringToBindingQuarkList</function>.
<xref linkend='XrmStringToBindingQuarkList' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XrmStringToBindingQuarkList</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xrmstringtobindingquarklist'>
<funcsynopsis id='XrmStringToBindingQuarkList'>
<funcprototype>
<funcdef><function>XrmStringToBindingQuarkList</function></funcdef>
<paramdef>char<parameter> *string</parameter></paramdef>
@ -628,7 +628,7 @@ Specifies the string for which a quark(Ql is to be allocated.
<para>
Returns the binding list.
The caller must allocate sufficient space for the binding list before calling
<function>XrmStringToBindingQuarkList</function>.
<xref linkend='XrmStringToBindingQuarkList' xrefstyle='select: title'/>.
</para>
</listitem>
</varlistentry>
@ -640,7 +640,7 @@ The caller must allocate sufficient space for the binding list before calling
<para>
Returns the list of quarks.
The caller must allocate sufficient space for the quarks list before calling
<function>XrmStringToBindingQuarkList</function>.
<xref linkend='XrmStringToBindingQuarkList' xrefstyle='select: title'/>.
</para>
</listitem>
</varlistentry>
@ -706,10 +706,10 @@ typedef struct {
<!-- .eM -->
<!-- .sp -->
To initialize the resource manager, use
<function>XrmInitialize</function>.
<xref linkend='XrmInitialize' xrefstyle='select: title'/>.
<indexterm significance="preferred"><primary>XrmInitialize</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xrminitialize'>
<funcsynopsis id='XrmInitialize'>
<funcprototype>
<funcdef>void <function>XrmInitialize</function></funcdef>
<paramdef>void<parameter> XrmInitialize(\|)</parameter></paramdef>
@ -721,11 +721,11 @@ To initialize the resource manager, use
<!-- .LP -->
<!-- .eM -->
To retrieve a database from disk, use
<function>XrmGetFileDatabase</function>.
<xref linkend='XrmGetFileDatabase' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XrmGetFileDatabase</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xrmgetfiledatabase'>
<funcsynopsis id='XrmGetFileDatabase'>
<funcprototype>
<funcdef>XrmDatabase <function>XrmGetFileDatabase</function></funcdef>
<paramdef>char<parameter> *filename</parameter></paramdef>
@ -748,7 +748,7 @@ Specifies the resource database file name.
<!-- .LP -->
<!-- .eM -->
The
<function>XrmGetFileDatabase</function>
<xref linkend='XrmGetFileDatabase' xrefstyle='select: title'/>
function opens the specified file,
creates a new resource database, and loads it with the specifications
read in from the specified file.
@ -759,18 +759,18 @@ with incorrect syntax is implementation-dependent.
The file is parsed in the current locale,
and the database is created in the current locale.
If it cannot open the specified file,
<function>XrmGetFileDatabase</function>
<xref linkend='XrmGetFileDatabase' xrefstyle='select: title'/>
returns NULL.
</para>
<para>
<!-- .LP -->
<!-- .sp -->
To store a copy of a database to disk, use
<function>XrmPutFileDatabase</function>.
<xref linkend='XrmPutFileDatabase' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XrmPutFileDatabase</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xrmputfiledatabase'>
<funcsynopsis id='XrmPutFileDatabase'>
<funcprototype>
<funcdef>void <function>XrmPutFileDatabase</function></funcdef>
<paramdef>XrmDatabase<parameter> database</parameter></paramdef>
@ -804,7 +804,7 @@ Specifies the file name for the stored database.
<!-- .LP -->
<!-- .eM -->
The
<function>XrmPutFileDatabase</function>
<xref linkend='XrmPutFileDatabase' xrefstyle='select: title'/>
function stores a copy of the specified database in the specified file.
Text is written to the file as a sequence of entries in valid
ResourceLine format
@ -820,11 +820,11 @@ Entries with representation types other than ``String'' are ignored.
<!-- .LP -->
<!-- .sp -->
To obtain a pointer to the screen-independent resources of a display, use
<function>XResourceManagerString</function>.
<xref linkend='XResourceManagerString' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XResourceManagerString</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xresourcemanagerstring'>
<funcsynopsis id='XResourceManagerString'>
<funcprototype>
<funcdef>char *<function>XResourceManagerString</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -847,28 +847,28 @@ Specifies the connection to the X server.
<!-- .LP -->
<!-- .eM -->
The
<function>XResourceManagerString</function>
<xref linkend='XResourceManagerString' xrefstyle='select: title'/>
function returns the RESOURCE_MANAGER property from the server's root
window of screen zero, which was returned when the connection was opened using
<function>XOpenDisplay</function>.
<xref linkend='XOpenDisplay' xrefstyle='select: title'/>.
The property is converted from type STRING to the current locale.
The conversion is identical to that produced by
<function>XmbTextPropertyToTextList</function>
<xref linkend='XmbTextPropertyToTextList' xrefstyle='select: title'/>
for a single element STRING property.
The returned string is owned by Xlib and should not be freed by the client.
The property value must be in a format that is acceptable to
<function>XrmGetStringDatabase</function>.
<xref linkend='XrmGetStringDatabase' xrefstyle='select: title'/>.
If no property exists, NULL is returned.
</para>
<para>
<!-- .LP -->
<!-- .sp -->
To obtain a pointer to the screen-specific resources of a screen, use
<function>XScreenResourceString</function>.
<xref linkend='XScreenResourceString' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XScreenResourceString</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xscreenresourcestring'>
<funcsynopsis id='XScreenResourceString'>
<funcprototype>
<funcdef>char *<function>XScreenResourceString</function></funcdef>
<paramdef>Screen<parameter> *screen</parameter></paramdef>
@ -891,28 +891,28 @@ Specifies the screen.
<!-- .LP -->
<!-- .eM -->
The
<function>XScreenResourceString</function>
<xref linkend='XScreenResourceString' xrefstyle='select: title'/>
function returns the SCREEN_RESOURCES property from the root window of the
specified screen.
The property is converted from type STRING to the current locale.
The conversion is identical to that produced by
<function>XmbTextPropertyToTextList</function>
<xref linkend='XmbTextPropertyToTextList' xrefstyle='select: title'/>
for a single element STRING property.
The property value must be in a format that is acceptable to
<function>XrmGetStringDatabase</function>.
<xref linkend='XrmGetStringDatabase' xrefstyle='select: title'/>.
If no property exists, NULL is returned.
The caller is responsible for freeing the returned string by using
<function>XFree</function>.
<xref linkend='XFree' xrefstyle='select: title'/>.
</para>
<para>
<!-- .LP -->
<!-- .sp -->
To create a database from a string, use
<function>XrmGetStringDatabase</function>.
<xref linkend='XrmGetStringDatabase' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XrmGetStringDatabase</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xrmgetstringdatabase'>
<funcsynopsis id='XrmGetStringDatabase'>
<funcprototype>
<funcdef>XrmDatabase <function>XrmGetStringDatabase</function></funcdef>
<paramdef>char<parameter> *data</parameter></paramdef>
@ -935,12 +935,12 @@ Specifies the database contents using a string.
<!-- .LP -->
<!-- .eM -->
The
<function>XrmGetStringDatabase</function>
<xref linkend='XrmGetStringDatabase' xrefstyle='select: title'/>
function creates a new database and stores the resources specified
in the specified null-terminated string.
<function>XrmGetStringDatabase</function>
<xref linkend='XrmGetStringDatabase' xrefstyle='select: title'/>
is similar to
<function>XrmGetFileDatabase</function>
<xref linkend='XrmGetFileDatabase' xrefstyle='select: title'/>
except that it reads the information out of a string instead of out of a file.
The string should contain a sequence of entries in valid ResourceLine
format (see <link linkend="Resource_File_Syntax">section 15.1</link>)
@ -954,11 +954,11 @@ and the database is created in the current locale.
<!-- .LP -->
<!-- .sp -->
To obtain the locale name of a database, use
<function>XrmLocaleOfDatabase</function>.
<xref linkend='XrmLocaleOfDatabase' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XrmLocaleOfDatabase</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xrmlocaleofdatabase'>
<funcsynopsis id='XrmLocaleOfDatabase'>
<funcprototype>
<funcdef>char *<function>XrmLocaleOfDatabase</function></funcdef>
<paramdef>XrmDatabase<parameter> database</parameter></paramdef>
@ -981,7 +981,7 @@ Specifies the resource database.
<!-- .LP -->
<!-- .eM -->
The
<function>XrmLocaleOfDatabase</function>
<xref linkend='XrmLocaleOfDatabase' xrefstyle='select: title'/>
function returns the name of the locale bound to the specified
database, as a null-terminated string.
The returned locale name string is owned by Xlib and should not be
@ -994,11 +994,11 @@ it will not be modified by Xlib.
<!-- .LP -->
<!-- .sp -->
To destroy a resource database and free its allocated memory, use
<function>XrmDestroyDatabase</function>.
<xref linkend='XrmDestroyDatabase' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XrmDestroyDatabase</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xrmdestroydatabase'>
<funcsynopsis id='XrmDestroyDatabase'>
<funcprototype>
<funcdef>void <function>XrmDestroyDatabase</function></funcdef>
<paramdef>XrmDatabase<parameter> database</parameter></paramdef>
@ -1021,18 +1021,18 @@ Specifies the resource database.
<!-- .LP -->
<!-- .eM -->
If database is NULL,
<function>XrmDestroyDatabase</function>
<xref linkend='XrmDestroyDatabase' xrefstyle='select: title'/>
returns immediately.
</para>
<para>
<!-- .LP -->
<!-- .sp -->
To associate a resource database with a display, use
<function>XrmSetDatabase</function>.
<xref linkend='XrmSetDatabase' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XrmSetDatabase</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xrmsetdatabase'>
<funcsynopsis id='XrmSetDatabase'>
<funcprototype>
<funcdef>void <function>XrmSetDatabase</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1066,7 +1066,7 @@ Specifies the resource database.
<!-- .LP -->
<!-- .eM -->
The
<function>XrmSetDatabase</function>
<xref linkend='XrmSetDatabase' xrefstyle='select: title'/>
function associates the specified resource database (or NULL)
with the specified display.
The database previously associated with the display (if any) is not destroyed.
@ -1077,11 +1077,11 @@ once it is constructed.
<!-- .LP -->
<!-- .sp -->
To get the resource database associated with a display, use
<function>XrmGetDatabase</function>.
<xref linkend='XrmGetDatabase' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XrmGetDatabase</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xrmgetdatabase'>
<funcsynopsis id='XrmGetDatabase'>
<funcprototype>
<funcdef>XrmDatabase <function>XrmGetDatabase</function></funcdef>
<paramdef>Display<parameter> *display</parameter></paramdef>
@ -1104,7 +1104,7 @@ Specifies the connection to the X server.
<!-- .LP -->
<!-- .eM -->
The
<function>XrmGetDatabase</function>
<xref linkend='XrmGetDatabase' xrefstyle='select: title'/>
function returns the database associated with the specified display.
It returns NULL if a database has not yet been set.
</para>
@ -1117,11 +1117,11 @@ It returns NULL if a database has not yet been set.
<para>
<!-- .LP -->
To merge the contents of a resource file into a database, use
<function>XrmCombineFileDatabase</function>.
<xref linkend='XrmCombineFileDatabase' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XrmCombineFileDatabase</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xrmcombinefiledatabase'>
<funcsynopsis id='XrmCombineFileDatabase'>
<funcprototype>
<funcdef>Status <function>XrmCombineFileDatabase</function></funcdef>
<paramdef>char<parameter> *filename</parameter></paramdef>
@ -1167,7 +1167,7 @@ Specifies whether source entries override target ones.
<!-- .LP -->
<!-- .eM -->
The
<function>XrmCombineFileDatabase</function>
<xref linkend='XrmCombineFileDatabase' xrefstyle='select: title'/>
function merges the contents of a resource file into a database.
If the same specifier is used for an entry in both the file and
the database,
@ -1180,7 +1180,7 @@ If the file cannot be read,
a zero status is returned;
otherwise, a nonzero status is returned.
If target_db contains NULL,
<function>XrmCombineFileDatabase</function>
<xref linkend='XrmCombineFileDatabase' xrefstyle='select: title'/>
creates and returns a new database to it.
Otherwise, the database pointed to by target_db is not destroyed by the merge.
The database entries are merged without changing values or types,
@ -1191,11 +1191,11 @@ The locale of the target database is not modified.
<!-- .LP -->
<!-- .sp -->
To merge the contents of one database into another database, use
<function>XrmCombineDatabase</function>.
<xref linkend='XrmCombineDatabase' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XrmCombineDatabase</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xrmcombinedatabase'>
<funcsynopsis id='XrmCombineDatabase'>
<funcprototype>
<funcdef>void <function>XrmCombineDatabase</function></funcdef>
<paramdef>XrmDatabasesource_db,<parameter> *target_db</parameter></paramdef>
@ -1240,7 +1240,7 @@ Specifies whether source entries override target ones.
<!-- .LP -->
<!-- .eM -->
The
<function>XrmCombineDatabase</function>
<xref linkend='XrmCombineDatabase' xrefstyle='select: title'/>
function merges the contents of one database into another.
If the same specifier is used for an entry in both databases,
the entry in the source_db will replace the entry in the target_db
@ -1248,7 +1248,7 @@ if override is
<symbol>True</symbol>;
otherwise, the entry in source_db is discarded.
If target_db contains NULL,
<function>XrmCombineDatabase</function>
<xref linkend='XrmCombineDatabase' xrefstyle='select: title'/>
simply stores source_db in it.
Otherwise, source_db is destroyed by the merge, but the database pointed
to by target_db is not destroyed.
@ -1261,11 +1261,11 @@ The locale of the target database is not modified.
<!-- .sp -->
To merge the contents of one database into another database with override
semantics, use
<function>XrmMergeDatabases</function>.
<xref linkend='XrmMergeDatabases' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XrmMergeDatabases</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xrmmergedatabases'>
<funcsynopsis id='XrmMergeDatabases'>
<funcprototype>
<funcdef>void <function>XrmMergeDatabases</function></funcdef>
<paramdef>XrmDatabasesource_db,<parameter> *target_db</parameter></paramdef>
@ -1299,9 +1299,9 @@ database is to be merged.
<!-- .LP -->
<!-- .eM -->
Calling the
<function>XrmMergeDatabases</function>
<xref linkend='XrmMergeDatabases' xrefstyle='select: title'/>
function is equivalent to calling the
<function>XrmCombineDatabase</function>
<xref linkend='XrmCombineDatabase' xrefstyle='select: title'/>
function with an override argument of
<symbol>True</symbol>.
</para>
@ -1314,14 +1314,14 @@ function with an override argument of
<para>
<!-- .LP -->
To retrieve a resource from a resource database, use
<function>XrmGetResource</function>,
<function>XrmQGetResource</function>,
<xref linkend='XrmGetResource' xrefstyle='select: title'/>,
<xref linkend='XrmQGetResource' xrefstyle='select: title'/>,
or
<function>XrmQGetSearchResource</function>.
<xref linkend='XrmQGetSearchResource' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XrmGetResource</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xrmgetresource'>
<funcsynopsis id='XrmGetResource'>
<funcprototype>
<funcdef>Bool <function>XrmGetResource</function></funcdef>
<paramdef>XrmDatabase<parameter> database</parameter></paramdef>
@ -1386,7 +1386,7 @@ Returns the value in the database.
</variablelist>
<indexterm significance="preferred"><primary>XrmQGetResource</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xrmqgetresource'>
<funcsynopsis id='XrmQGetResource'>
<funcprototype>
<funcdef>Bool <function>XrmQGetResource</function></funcdef>
<paramdef>XrmDatabase<parameter> database</parameter></paramdef>
@ -1453,9 +1453,9 @@ Returns the value in the database.
<!-- .LP -->
<!-- .eM -->
The
<function>XrmGetResource</function>
<xref linkend='XrmGetResource' xrefstyle='select: title'/>
and
<function>XrmQGetResource</function>
<xref linkend='XrmQGetResource' xrefstyle='select: title'/>
functions retrieve a resource from the specified database.
Both take a fully qualified name/class pair, a destination
resource representation, and the address of a value
@ -1466,17 +1466,17 @@ therefore, you must not modify the data.
<para>
<!-- .LP -->
The database only frees or overwrites entries on
<function>XrmPutResource</function>,
<function>XrmQPutResource</function>,
<xref linkend='XrmPutResource' xrefstyle='select: title'/>,
<xref linkend='XrmQPutResource' xrefstyle='select: title'/>,
or
<function>XrmMergeDatabases</function>.
<xref linkend='XrmMergeDatabases' xrefstyle='select: title'/>.
A client that is not storing new values into the database or
is not merging the database should be safe using the address passed
back at any time until it exits.
If a resource was found, both
<function>XrmGetResource</function>
<xref linkend='XrmGetResource' xrefstyle='select: title'/>
and
<function>XrmQGetResource</function>
<xref linkend='XrmQGetResource' xrefstyle='select: title'/>
return
<symbol>True</symbol>;
otherwise, they return
@ -1491,7 +1491,7 @@ The X toolkit access pattern for a resource database is quite stylized.
A series of from 1 to 20 probes is made with only the
last name/class differing in each probe.
The
<function>XrmGetResource</function>
<xref linkend='XrmGetResource' xrefstyle='select: title'/>
function is at worst a
2<superscript><emphasis remap='I'>n</emphasis></superscript> algorithm,
where <emphasis remap='I'>n</emphasis> is the length of the name/class list.
@ -1506,7 +1506,7 @@ To obtain a list of database levels, use
</para>
<indexterm significance="preferred"><primary>XrmQGetSearchList</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xrmqgetsearchlist'>
<funcsynopsis id='XrmQGetSearchResource'>
<funcprototype>
<funcdef>Bool <function>XrmQGetSearchResource</function></funcdef>
<paramdef>XrmDatabase<parameter> database</parameter></paramdef>
@ -1580,7 +1580,7 @@ function takes a list of names and classes
and returns a list of database levels where a match might occur.
The returned list is in best-to-worst order and
uses the same algorithm as
<function>XrmGetResource</function>
<xref linkend='XrmGetResource' xrefstyle='select: title'/>
for determining precedence.
If list_return was large enough for the search list,
<function>XrmQGetSearchList</function>
@ -1611,11 +1611,11 @@ only the common prefix should be specified in the name and class list to
<!-- .LP -->
<!-- .sp -->
To search resource database levels for a given resource, use
<function>XrmQGetSearchResource</function>.
<xref linkend='XrmQGetSearchResource' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XrmQGetSearchResource</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xrmqgetsearchresource'>
<funcsynopsis id='XrmQGetSearchResource_2'>
<funcprototype>
<funcdef>Bool <function>XrmQGetSearchResource</function></funcdef>
<paramdef>XrmSearchList<parameter> list</parameter></paramdef>
@ -1683,11 +1683,11 @@ Returns the value in the database.
<!-- .LP -->
<!-- .eM -->
The
<function>XrmQGetSearchResource</function>
<xref linkend='XrmQGetSearchResource' xrefstyle='select: title'/>
function searches the specified database levels for the resource
that is fully identified by the specified name and class.
The search stops with the first match.
<function>XrmQGetSearchResource</function>
<xref linkend='XrmQGetSearchResource' xrefstyle='select: title'/>
returns
<symbol>True</symbol>
if the resource was found;
@ -1700,11 +1700,11 @@ A call to
<function>XrmQGetSearchList</function>
with a name and class list containing all but the last component
of a resource name followed by a call to
<function>XrmQGetSearchResource</function>
<xref linkend='XrmQGetSearchResource' xrefstyle='select: title'/>
with the last component name and class returns the same database entry as
<function>XrmGetResource</function>
<xref linkend='XrmGetResource' xrefstyle='select: title'/>
and
<function>XrmQGetResource</function>
<xref linkend='XrmQGetResource' xrefstyle='select: title'/>
with the fully qualified name and class.
</para>
</sect1>
@ -1716,9 +1716,9 @@ with the fully qualified name and class.
<para>
<!-- .LP -->
To store resources into the database, use
<function>XrmPutResource</function>
<xref linkend='XrmPutResource' xrefstyle='select: title'/>
or
<function>XrmQPutResource</function>.
<xref linkend='XrmQPutResource' xrefstyle='select: title'/>.
Both functions take a partial resource specification, a
representation type, and a value.
This value is copied into the specified database.
@ -1727,7 +1727,7 @@ This value is copied into the specified database.
<!-- .sp -->
<indexterm significance="preferred"><primary>XrmPutResource</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xrmputresource'>
<funcsynopsis id='XrmPutResource'>
<funcprototype>
<funcdef>void <function>XrmPutResource</function></funcdef>
<paramdef>XrmDatabase<parameter> *database</parameter></paramdef>
@ -1783,11 +1783,11 @@ Specifies the value of the resource, which is specified as a string.
<!-- .LP -->
<!-- .eM -->
If database contains NULL,
<function>XrmPutResource</function>
<xref linkend='XrmPutResource' xrefstyle='select: title'/>
creates a new database and returns a pointer to it.
<function>XrmPutResource</function>
<xref linkend='XrmPutResource' xrefstyle='select: title'/>
is a convenience function that calls
<function>XrmStringToBindingQuarkList</function>
<xref linkend='XrmStringToBindingQuarkList' xrefstyle='select: title'/>
followed by:
</para>
<para>
@ -1803,7 +1803,7 @@ The value is stored in the database without modification.
<!-- .sp -->
<indexterm significance="preferred"><primary>XrmQPutResource</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xrmqputresource'>
<funcsynopsis id='XrmQPutResource'>
<funcprototype>
<funcdef>void <function>XrmQPutResource</function></funcdef>
<paramdef>XrmDatabase<parameter> *database</parameter></paramdef>
@ -1870,7 +1870,7 @@ Specifies the value of the resource, which is specified as a string.
<!-- .LP -->
<!-- .eM -->
If database contains NULL,
<function>XrmQPutResource</function>
<xref linkend='XrmQPutResource' xrefstyle='select: title'/>
creates a new database and returns a pointer to it.
If a resource entry with the identical bindings and quarks already
exists in the database, the previous type and value are replaced by the new
@ -1881,11 +1881,11 @@ The value is stored in the database without modification.
<!-- .LP -->
<!-- .sp -->
To add a resource that is specified as a string, use
<function>XrmPutStringResource</function>.
<xref linkend='XrmPutStringResource' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XrmPutStringResource</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xrmputstringresource'>
<funcsynopsis id='XrmPutStringResource'>
<funcprototype>
<funcdef>void <function>XrmPutStringResource</function></funcdef>
<paramdef>XrmDatabase<parameter> *database</parameter></paramdef>
@ -1930,15 +1930,15 @@ Specifies the value of the resource, which is specified as a string.
<!-- .LP -->
<!-- .eM -->
If database contains NULL,
<function>XrmPutStringResource</function>
<xref linkend='XrmPutStringResource' xrefstyle='select: title'/>
creates a new database and returns a pointer to it.
<function>XrmPutStringResource</function>
<xref linkend='XrmPutStringResource' xrefstyle='select: title'/>
adds a resource with the specified value to the specified database.
<function>XrmPutStringResource</function>
<xref linkend='XrmPutStringResource' xrefstyle='select: title'/>
is a convenience function that first calls
<function>XrmStringToBindingQuarkList</function>
<xref linkend='XrmStringToBindingQuarkList' xrefstyle='select: title'/>
on the specifier and then calls
<function>XrmQPutResource</function>,
<xref linkend='XrmQPutResource' xrefstyle='select: title'/>,
using a ``String'' representation type.
If the specifier is not in the Host Portable Character Encoding,
the result is implementation-dependent.
@ -1948,11 +1948,11 @@ The value is stored in the database without modification.
<!-- .LP -->
<!-- .sp -->
To add a string resource using quarks as a specification, use
<function>XrmQPutStringResource</function>.
<xref linkend='XrmQPutStringResource' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XrmQPutStringResource</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xrmqputstringresource'>
<funcsynopsis id='XrmQPutStringResource'>
<funcprototype>
<funcdef>void <function>XrmQPutStringResource</function></funcdef>
<paramdef>XrmDatabase<parameter> *database</parameter></paramdef>
@ -2008,16 +2008,16 @@ Specifies the value of the resource, which is specified as a string.
<!-- .LP -->
<!-- .eM -->
If database contains NULL,
<function>XrmQPutStringResource</function>
<xref linkend='XrmQPutStringResource' xrefstyle='select: title'/>
creates a new database and returns a pointer to it.
<function>XrmQPutStringResource</function>
<xref linkend='XrmQPutStringResource' xrefstyle='select: title'/>
is a convenience routine that constructs an
<type>XrmValue</type>
for the value string (by calling
<function>strlen</function>
to compute the size) and
then calls
<function>XrmQPutResource</function>,
<xref linkend='XrmQPutResource' xrefstyle='select: title'/>,
using a ``String'' representation type.
The value is stored in the database without modification.
</para>
@ -2026,11 +2026,11 @@ The value is stored in the database without modification.
<!-- .sp -->
To add a single resource entry that is specified as a string that contains
both a name and a value, use
<function>XrmPutLineResource</function>.
<xref linkend='XrmPutLineResource' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XrmPutLineResource</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xrmputlineresource'>
<funcsynopsis id='XrmPutLineResource'>
<funcprototype>
<funcdef>void <function>XrmPutLineResource</function></funcdef>
<paramdef>XrmDatabase<parameter> *database</parameter></paramdef>
@ -2064,9 +2064,9 @@ Specifies the resource name and value pair as a single string.
<!-- .LP -->
<!-- .eM -->
If database contains NULL,
<function>XrmPutLineResource</function>
<xref linkend='XrmPutLineResource' xrefstyle='select: title'/>
creates a new database and returns a pointer to it.
<function>XrmPutLineResource</function>
<xref linkend='XrmPutLineResource' xrefstyle='select: title'/>
adds a single resource entry to the specified database.
The line should be in valid ResourceLine format
(see <link linkend="Resource_File_Syntax">section 15.1</link>)
@ -2089,7 +2089,7 @@ Note that comment lines are not stored.
<para>
<!-- .LP -->
To enumerate the entries of a database, use
<function>XrmEnumerateDatabase</function>.
<xref linkend='XrmEnumerateDatabase' xrefstyle='select: title'/>.
<indexterm significance="preferred"><primary>XrmEnumerateDatabase</primary></indexterm>
<!-- .sM -->
</para>
@ -2099,7 +2099,7 @@ To enumerate the entries of a database, use
#define XrmEnumOneLevel 0
</literallayout>
<funcsynopsis id='xrmenumeratedatabase'>
<funcsynopsis id='XrmEnumerateDatabase'>
<funcprototype>
<funcdef>Bool <function>XrmEnumerateDatabase</function></funcdef>
<paramdef>XrmDatabase<parameter> database</parameter></paramdef>
@ -2178,7 +2178,7 @@ Specifies the user-supplied argument that will be passed to the procedure.
<!-- .LP -->
<!-- .eM -->
The
<function>XrmEnumerateDatabase</function>
<xref linkend='XrmEnumerateDatabase' xrefstyle='select: title'/>
function calls the specified procedure for each resource in the database
that would match some completion of the given name/class resource prefix.
The order in which resources are found is implementation-dependent.
@ -2241,7 +2241,7 @@ Xlib function using the same database is not defined.
<para>
<!-- .LP -->
The
<function>XrmParseCommand</function>
<xref linkend='XrmParseCommand' xrefstyle='select: title'/>
function can be used to parse the command line arguments to a program
and modify a resource database with selected entries from the command line.
</para>
@ -2300,11 +2300,11 @@ typedef struct {
<!-- .eM -->
<!-- .sp -->
To load a resource database from a C command line, use
<function>XrmParseCommand</function>.
<xref linkend='XrmParseCommand' xrefstyle='select: title'/>.
</para>
<indexterm significance="preferred"><primary>XrmParseCommand</primary></indexterm>
<!-- .sM -->
<funcsynopsis id='xrmparsecommand'>
<funcsynopsis id='XrmParseCommand'>
<funcprototype>
<funcdef>void <function>XrmParseCommand</function></funcdef>
<paramdef>XrmDatabase<parameter> *database</parameter></paramdef>
@ -2383,12 +2383,12 @@ and returns the remaining arguments.
<!-- .LP -->
<!-- .eM -->
The
<function>XrmParseCommand</function>
<xref linkend='XrmParseCommand' xrefstyle='select: title'/>
function parses an (argc, argv) pair according to the specified option table,
loads recognized options into the specified database with type ``String,''
and modifies the (argc, argv) pair to remove all recognized options.
If database contains NULL,
<function>XrmParseCommand</function>
<xref linkend='XrmParseCommand' xrefstyle='select: title'/>
creates a new database and returns a pointer to it.
Otherwise, entries are added to the database specified.
If a database is created, it is created in the current locale.

File diff suppressed because it is too large Load diff

View file

@ -17,9 +17,7 @@ and recognition for their work on Xlib.
Our apologies to anyone inadvertently overlooked.
</para>
<simplesect>
<title>
Release 1
</title>
<title>Release 1</title>
<para>
Our thanks does to Ron Newman (MIT Project Athena),
who contributed substantially to the
@ -96,9 +94,7 @@ and IBM for providing the environment where it could happen.
</para>
</simplesect>
<simplesect>
<title>
Release 4
</title>
<title>Release 4</title>
<para>
Our thanks go to Jim Fulton (MIT X Consortium) for designing and
specifying the new Xlib functions for Inter-Client Communication
@ -111,9 +107,7 @@ for their much-appreciated efforts in reviewing the changes.
</para>
</simplesect>
<simplesect>
<title>
Release 5
</title>
<title>Release 5</title>
<para>
The principal authors of the Input Method facilities are
Vania Joloboff (Open Software Foundation) and Bill McMahon (Hewlett-Packard).
@ -171,9 +165,7 @@ number of small errors.
</para>
</simplesect>
<simplesect>
<title>
Release 6
</title>
<title>Release 6</title>
<para>
Stephen Gildea (X Consortium) authored the threads support.
Ovais Ashraf (Sun) and Greg Olsen (Sun) contributed substantially

View file

@ -1724,40 +1724,30 @@ a set of pixel values in scanline order.
</biblioentry>
<biblioentry>
<title>
ISO2022: Information processing - ISO 7-bit and 8-bit coded character
sets - Code extension techniques.
</title>
<title>ISO2022: Information processing - ISO 7-bit and 8-bit coded character
sets - Code extension techniques.</title>
</biblioentry>
<biblioentry>
<title>
ISO8859-1: Information processing - 8-bit single-byte coded graphic
character sets - Part 1: Latin alphabet No. 1.
</title>
<title>ISO8859-1: Information processing - 8-bit single-byte coded graphic
character sets - Part 1: Latin alphabet No. 1.</title>
</biblioentry>
<biblioentry>
<title>
<acronym>POSIX</acronym>: Information Technology - Portable Operating System Interface (<acronym>POSIX</acronym>) -
<title><acronym>POSIX</acronym>: Information Technology - Portable Operating System Interface (<acronym>POSIX</acronym>) -
Part 1: System Application Program Interface (API) [C Language],
ISO/IEC 9945-1.
</title>
ISO/IEC 9945-1.</title>
</biblioentry>
<biblioentry>
<title>
Text of ISO/IEC/DIS 9541-1, Information Processing - Font Information
Interchange - Part 1: Architecture.
</title>
<title>Text of ISO/IEC/DIS 9541-1, Information Processing - Font Information
Interchange - Part 1: Architecture.</title>
</biblioentry>
<biblioentry>
<title>
X/Open Portability Guide, Issue 3, December 1988 (XPG3), X/Open Company,
<title>X/Open Portability Guide, Issue 3, December 1988 (XPG3), X/Open Company,
Ltd, Prentice-Hall, Inc. 1989. ISBN 0-13-685835-8.
(See especially Volume 3: XSI Supplementary Definitions.)
</title>
(See especially Volume 3: XSI Supplementary Definitions.)</title>
</biblioentry>
</bibliography>