A property is also stored in one of several possible formats. The X server can store the information as 8-bit quantities, 16-bit quantities, or 32-bit quantities. This permits the X server to present the data in the byte order that the client expects.
If you define further properties of complex type, you must encode and decode them yourself. These functions must be carefully written if they are to be portable. For further information about how to write a library extension, see "Extensions".The type of a property is defined by an atom, which allows for arbitrary extension in this type scheme.
Certain property names are
predefined in the server for commonly used functions.
The atoms for these properties are defined in
To avoid name clashes with user symbols, the
name for each atom has the
For definitions of these properties,
For an explanation of the functions that let you get and set
much of the information stored in these predefined properties,
see "Inter-Client Communication Functions".
The core protocol imposes no semantics on these property names, but semantics are specified in other X Consortium standards, such as the Inter-Client Communication Conventions Manual and the X Logical Font Description Conventions.
You can use properties to communicate other information between applications. The functions described in this section let you define new properties and get the unique atom IDs in your applications.
Although any particular atom can have some client interpretation within each of the name spaces, atoms occur in five distinct name spaces within the protocol:
The built-in selection property names are:
The built-in property names are:
The built-in property types are:
The built-in font property names are:
For further information about font properties, see "Font Metrics".
To return a name for a given atom identifier, use XGetAtomName().
To return the names for an array of atom identifiers, use XGetAtomNames().