|
|
1.1 ! root 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.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.