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.