~ubuntu-branches/ubuntu/intrepid/xserver-xgl/intrepid

« back to all changes in this revision

Viewing changes to dix/BuiltInAtoms

  • Committer: Bazaar Package Importer
  • Author(s): Matthew Garrett
  • Date: 2006-02-13 14:21:43 UTC
  • Revision ID: james.westby@ubuntu.com-20060213142143-mad6z9xzem7hzxz9
Tags: upstream-7.0.0
ImportĀ upstreamĀ versionĀ 7.0.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
File: .../x11/server/dix/BuiltInAtoms
 
2
 
 
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.
 
8
 
 
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
 
13
        #define XA_Foo <n>
 
14
and the string value of the atom will be "Foo".
 
15
 
 
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.
 
18
 
 
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.
 
23
 
 
24
Those name spaces are
 
25
        Property names
 
26
        Property types
 
27
        Selections
 
28
        Font properties
 
29
        Type of a ClientMessage event   (none built into server)
 
30
 
 
31
For the font properties mentioned here, see the spec for more information.
 
32
 
 
33
                                -- Selections --
 
34
 
 
35
PRIMARY                                                                       @
 
36
        Selection.
 
37
SECONDARY                                                                     @
 
38
        Selection.
 
39
 
 
40
                        -- Property types and names --
 
41
 
 
42
ARC                                                                           @
 
43
        Property type:
 
44
                x, y: INT16
 
45
                width, height: CARD16,
 
46
                angle1, angle2: INT16
 
47
ATOM                                                                          @
 
48
        Property type:
 
49
                atom: ATOM
 
50
BITMAP                                                                        @
 
51
        Property type:
 
52
                bitmap: PIXMAP
 
53
                        This is asserted to be of depth 1.
 
54
CARDINAL                                                                      @
 
55
        Property type:
 
56
                card: CARD32 or CARD16 or CARD8
 
57
                the datum size is dependent on the property format
 
58
COLORMAP                                                                      @
 
59
        Property type:
 
60
                colormap: COLORMAP
 
61
CURSOR                                                                        @
 
62
        Property type:
 
63
                cursor: CURSOR
 
64
CUT_BUFFER0                                                                   @
 
65
CUT_BUFFER1                                                                   @
 
66
CUT_BUFFER2                                                                   @
 
67
CUT_BUFFER3                                                                   @
 
68
CUT_BUFFER4                                                                   @
 
69
CUT_BUFFER5                                                                   @
 
70
CUT_BUFFER6                                                                   @
 
71
CUT_BUFFER7                                                                   @
 
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.
 
76
 
 
77
                Data is normally fetched and stored out of CUT_BUFFER0; the
 
78
                RotateProperties request is used to rotate these buffers.
 
79
DRAWABLE                                                                      @
 
80
        Property type:
 
81
                drawable: DRAWABLE
 
82
FONT                                                                          @
 
83
        Property type:
 
84
                font: FONT
 
85
INTEGER                                                                       @
 
86
        Property type:
 
87
                card: INT32 or INT16 or INT8
 
88
                the datum size is dependent on the property format
 
89
PIXMAP                                                                        @
 
90
        Property type:
 
91
                pixmap: PIXMAP
 
92
POINT                                                                         @
 
93
        Property type:
 
94
                x, y: INT16
 
95
RECTANGLE                                                                     @
 
96
        Property type:
 
97
                x, y: INT16
 
98
                width, height: CARD16
 
99
RESOURCE_MANAGER                                                              @
 
100
        Property name: (type: STRING)
 
101
                Contents of the user's resource manager data base.
 
102
RGB_COLOR_MAP                                                                 @
 
103
        Property type:
 
104
                colormap:       COLORMAP
 
105
                red-max:        CARD32
 
106
                red-mult:       CARD32
 
107
                green-max:      CARD32
 
108
                green-mult:     CARD32
 
109
                blue-max:       CARD32
 
110
                blue-mult:      CARD32
 
111
                base-pixel:     CARD32
 
112
 
 
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 =
 
120
        5, and blue_max = 5.
 
121
 
 
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.
 
128
 
 
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:
 
134
 
 
135
                r * red_mult + g * green_mult + b * blue_mult + base_pixel
 
136
        
 
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:
 
140
 
 
141
                gray * red_mult + base_pixel
 
142
 
 
143
        This is provided to allow applications to share color maps.
 
144
 
 
145
RGB_BEST_MAP                                                                  @
 
146
RGB_BLUE_MAP                                                                  @
 
147
RGB_DEFAULT_MAP                                                               @
 
148
RGB_GRAY_MAP                                                                  @
 
149
RGB_GREEN_MAP                                                                 @
 
150
RGB_RED_MAP                                                                   @
 
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.
 
160
 
 
161
                Each of the above five names would be used for sharing color
 
162
                maps.
 
163
STRING                                                                        @
 
164
        Property type:
 
165
                sequence of Bytes
 
166
VISUALID                                                                      @
 
167
        Property type:
 
168
                visual: VISUALID
 
169
WINDOW                                                                        @
 
170
        Property type:
 
171
                window: WINDOW
 
172
WM_COMMAND                                                                    @
 
173
        Property name: (type: STRING)
 
174
                Command line arguments used to invoke this application. The
 
175
                arguments are delimited by null characters (ASCII 0).
 
176
WM_HINTS                                                                      @
 
177
        Property type:
 
178
                flags:          CARD32
 
179
                input:          BOOL32
 
180
                initial-state:  CARD32
 
181
                icon-pixmap:    PIXMAP
 
182
                icon-window:    WINDOW
 
183
                icon_mask:      BITMAP
 
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.
 
194
                        1               normal
 
195
                        2               zoomed
 
196
                        3               iconic
 
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
 
204
                manager.
 
205
WM_CLIENT_MACHINE                                                             @
 
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.
 
209
WM_ICON_NAME                                                                  @
 
210
        Property name:  (type: STRING)
 
211
                what the application would like the label to be for
 
212
                the iconic form of the window.
 
213
WM_ICON_SIZE                                                                  @
 
214
        Property type:
 
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.
 
221
WM_NAME                                                                       @
 
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.
 
225
WM_NORMAL_HINTS                                                               @
 
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.
 
229
WM_SIZE_HINTS                                                                 @
 
230
        Property type:
 
231
                flags:                          CARD32
 
232
                x, y:                           INT32
 
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.
 
250
WM_ZOOM_HINTS                                                                 @
 
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.
 
254
 
 
255
                                -- Font properties --
 
256
 
 
257
MIN_SPACE                                                                     @
 
258
        Font property: CARD32
 
259
NORM_SPACE                                                                    @
 
260
        Font property: CARD32
 
261
MAX_SPACE                                                                     @
 
262
        Font property: CARD32
 
263
END_SPACE                                                                     @
 
264
        Font property: CARD32
 
265
SUPERSCRIPT_X                                                                 @
 
266
        Font property: INT32
 
267
SUPERSCRIPT_Y                                                                 @
 
268
        Font property: INT32
 
269
SUBSCRIPT_X                                                                   @
 
270
        Font property: INT32
 
271
SUBSCRIPT_Y                                                                   @
 
272
        Font property: INT32
 
273
UNDERLINE_POSITION                                                            @
 
274
        Font property: INT32
 
275
UNDERLINE_THICKNESS                                                           @
 
276
        Font property: CARD32   
 
277
STRIKEOUT_ASCENT                                                              @
 
278
        Font property: INT32
 
279
STRIKEOUT_DESCENT                                                             @
 
280
        Font property: INT32
 
281
ITALIC_ANGLE                                                                  @
 
282
        Font property: INT32
 
283
X_HEIGHT                                                                      @
 
284
        Font property: INT32
 
285
QUAD_WIDTH                                                                    @
 
286
        Font property: INT32
 
287
WEIGHT                                                                        @
 
288
        Font property: CARD32
 
289
POINT_SIZE                                                                    @
 
290
        Font property: CARD32
 
291
RESOLUTION                                                                    @
 
292
        Font property: CARD32
 
293
 
 
294
The following optional properties on fonts have values that are atoms. The
 
295
atom print name is the useful information.
 
296
 
 
297
COPYRIGHT                                                                     @
 
298
        of the font distribution
 
299
NOTICE                                                                        @
 
300
        trademark/copyright of the character shapes
 
301
FONT_NAME                                                                     @
 
302
        name of this particular instance of a font
 
303
FAMILY_NAME                                                                   @
 
304
        name of the 'font family' to which it belongs
 
305
FULL_NAME                                                                     @
 
306
        full text name of the font
 
307
 
 
308
The following aren't in order but putting them at the end avoids encoding
 
309
changes.
 
310
 
 
311
CAP_HEIGHT                                                                    @
 
312
        Font property: CARD32
 
313
 
 
314
 
 
315
WM_CLASS                                                                      @
 
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)
 
323
 
 
324
WM_TRANSIENT_FOR                                                              @
 
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.