1
File: .../x11/server/dix/BuiltInAtoms
3
This file is of a fixed format and is used to generate both the file
4
include/XAtom.h and dix/initatoms.c. Neither of those files should be
5
edited directly. Changing the atoms in this file, or even the order in
6
which they occur, is equivalent to forcing a new (minor) version number
7
on the server. Take care.
9
The format of the file is that each built in atom starts in column 1
10
with no text, other than spaces and tabs, on that line other than a
11
mandatory trailing "@" at the end of the line. For each atom (Foo)
12
below the defines will be of the form
14
and the string value of the atom will be "Foo".
16
The comment lines in this file are not guaranteed to be accurate. To see the
17
current truth, look at the Xlib documentation as well as the protocol spec.
19
Atoms occur in five distinct name spaces within the protocol. Any particular
20
atom may or may not have some client interpretation within each of the name
21
spaces. For each of the built in atoms, the intended semantics and the space
22
within which it is defined is indicated.
29
Type of a ClientMessage event (none built into server)
31
For the font properties mentioned here, see the spec for more information.
40
-- Property types and names --
45
width, height: CARD16,
53
This is asserted to be of depth 1.
56
card: CARD32 or CARD16 or CARD8
57
the datum size is dependent on the property format
72
Property name: (type: STRING)
73
Used to implement cut buffer ring, in particular Andrew uses
74
this mechanism. Anyone else using this sort of IPC mechanism
75
should use these properties.
77
Data is normally fetched and stored out of CUT_BUFFER0; the
78
RotateProperties request is used to rotate these buffers.
87
card: INT32 or INT16 or INT8
88
the datum size is dependent on the property format
100
Property name: (type: STRING)
101
Contents of the user's resource manager data base.
113
The fields `red_max', `green_max', and `blue_max' give the maximum
114
red, green, and blue values, respectively. Each color
115
coefficient ranges from 0 to its max, inclusive. For example,
116
a common colormap allocation is 3/3/2: 3 planes for red, 3
117
planes for green, and 2 planes for blue. Such a colormap would
118
have red_max == 7, green_max = 7, and blue_max = 3. An alternate
119
allocation that uses only 216 colors is red_max = 5, green_max =
122
The fields `red_mult', `green_mult', and `blue_mult' give the
123
scale factors used to compose a full pixel value. (See next
124
paragraph.) For a 3/3/2 allocation red_mult might be 32,
125
green_mult might be 4, and blue_mult might be 1. For a
126
6-colors-each allocation, red_mult might be 36, green_mult might
127
be 6, and blue_mult might be 1.
129
The field `base_pixel' gives the base pixel value used to
130
compose a full pixel value. Normally base_pixel is obtained
131
from a call to XAllocColorPlanes(). Given integer red, green,
132
and blue coefficients in their appropriate ranges, one can
133
compute a corresponding pixel value with the expression:
135
r * red_mult + g * green_mult + b * blue_mult + base_pixel
137
For gray-scale colormaps, only the colormap, red_max, red_mult,
138
and base_pixel fields are defined; the other fields are
139
ignored. To compute a gray-scale pixel value, use:
141
gray * red_mult + base_pixel
143
This is provided to allow applications to share color maps.
151
Property name: (type: RGB_COLOR_MAP)
152
The needs of most applications can be met with five colormaps.
153
Polite applications may need only a small RGB space, and can
154
use a portion of the default color map. Applications doing
155
high-quality RGB rendering will need an entire colormap,
156
filled with as large an RGB space as possible, e.g. 332. For
157
color separations, an application may need maximum device
158
resolution for each of red, green, and blue, even if this
159
requires three renderings with three colormaps.
161
Each of the above five names would be used for sharing color
173
Property name: (type: STRING)
174
Command line arguments used to invoke this application. The
175
arguments are delimited by null characters (ASCII 0).
180
initial-state: CARD32
184
icon-x, icon-y: INT32
185
flags contains the following bits
186
0x00000001 input hint
187
0x00000002 state hint
188
0x00000004 icon pixmap hint
189
0x00000008 icon window hint
190
0x00000010 icon position hint
191
values for initial-state
192
0 unspecified -> application does not
193
care and WM should pick one.
197
4 inactive -> application believes
198
itself to be seldomly used. WM may wish to
199
place it on an inactive menu.
200
This type is potentially extensible. The order is critical;
201
append to the end only.
202
Property name: (type: WM_HINTS)
203
Additional hints set by the client for use by the window
206
Property name: (type: STRING)
207
used to communicate with the window manager. The host name
208
of the machine the client is running on may be set here.
210
Property name: (type: STRING)
211
what the application would like the label to be for
212
the iconic form of the window.
215
minWidth, min-height: CARD32
216
maxWidth, max-height: CARD32
217
widthInc, height-inc: CARD32
218
Property name: (type: ICON_SIZE)
219
The window manager may set this property on the root window
220
to specify the icon sizes it allows.
222
Property name: (type: STRING)
223
used to communicate with the window manager. This is
224
what the application would like the label for the window.
226
Property name: (type: SIZE_HINTS)
227
used to communicate with the window manager. This is size
228
hints for a window in its "normal" state.
233
width, height: CARD32
234
min-width, min-height: CARD32
235
max-width, max-height: CARD32
236
width-inc, height-inc: CARD32
237
min-aspect-x, min-aspect-y: CARD32
238
max-aspect-x, max-aspect-y: CARD32
239
flags contains the following bits
240
0x00000001 user specified x and y
241
0x00000002 user specified width and height
242
0x00000004 program specified position
243
0x00000008 program specified size
244
0x00000010 program specified minimum size
245
0x00000020 program specified maximum size
246
0x00000040 program specified resize increment
247
0x00000080 program specified aspect ratio
248
This type is potentially extensible. The order is critical;
249
append to the end only.
251
Property name: (type: SIZE_HINTS)
252
used to communicate with the window manager. This is size
253
hints for a window in its "zoomed" state.
255
-- Font properties --
258
Font property: CARD32
260
Font property: CARD32
262
Font property: CARD32
264
Font property: CARD32
275
UNDERLINE_THICKNESS @
276
Font property: CARD32
288
Font property: CARD32
290
Font property: CARD32
292
Font property: CARD32
294
The following optional properties on fonts have values that are atoms. The
295
atom print name is the useful information.
298
of the font distribution
300
trademark/copyright of the character shapes
302
name of this particular instance of a font
304
name of the 'font family' to which it belongs
306
full text name of the font
308
The following aren't in order but putting them at the end avoids encoding
312
Font property: CARD32
316
Property name: (type: STRING)
317
Used (possibly by some window managers; definitely by
318
session managers) to look up resources in the resource
319
data base on behalf of the client who set this property.
320
There are 2 elements:
321
{char *resource_name; char *resource_class;}
322
delimited by a null character (ascii 0)
325
Property name: (type: WINDOW)
326
Used by transient top-level windows, such as dialog
327
boxes, to point to their logical "parents". The window
328
manager can then take down the dialog boxes when the
329
"parent" gets iconified, for instance.