1706f2543SmrgFile: .../x11/server/dix/BuiltInAtoms 2706f2543Smrg 3706f2543SmrgThis file is of a fixed format and is used to generate both the file 4706f2543Smrginclude/XAtom.h and dix/initatoms.c. Neither of those files should be 5706f2543Smrgedited directly. Changing the atoms in this file, or even the order in 6706f2543Smrgwhich they occur, is equivalent to forcing a new (minor) version number 7706f2543Smrgon the server. Take care. 8706f2543Smrg 9706f2543SmrgThe format of the file is that each built in atom starts in column 1 10706f2543Smrgwith no text, other than spaces and tabs, on that line other than a 11706f2543Smrgmandatory trailing "@" at the end of the line. For each atom (Foo) 12706f2543Smrgbelow the defines will be of the form 13706f2543Smrg #define XA_Foo <n> 14706f2543Smrgand the string value of the atom will be "Foo". 15706f2543Smrg 16706f2543SmrgThe comment lines in this file are not guaranteed to be accurate. To see the 17706f2543Smrgcurrent truth, look at the Xlib documentation as well as the protocol spec. 18706f2543Smrg 19706f2543SmrgAtoms occur in five distinct name spaces within the protocol. Any particular 20706f2543Smrgatom may or may not have some client interpretation within each of the name 21706f2543Smrgspaces. For each of the built in atoms, the intended semantics and the space 22706f2543Smrgwithin which it is defined is indicated. 23706f2543Smrg 24706f2543SmrgThose name spaces are 25706f2543Smrg Property names 26706f2543Smrg Property types 27706f2543Smrg Selections 28706f2543Smrg Font properties 29706f2543Smrg Type of a ClientMessage event (none built into server) 30706f2543Smrg 31706f2543SmrgFor the font properties mentioned here, see the spec for more information. 32706f2543Smrg 33706f2543Smrg -- Selections -- 34706f2543Smrg 35706f2543SmrgPRIMARY @ 36706f2543Smrg Selection. 37706f2543SmrgSECONDARY @ 38706f2543Smrg Selection. 39706f2543Smrg 40706f2543Smrg -- Property types and names -- 41706f2543Smrg 42706f2543SmrgARC @ 43706f2543Smrg Property type: 44706f2543Smrg x, y: INT16 45706f2543Smrg width, height: CARD16, 46706f2543Smrg angle1, angle2: INT16 47706f2543SmrgATOM @ 48706f2543Smrg Property type: 49706f2543Smrg atom: ATOM 50706f2543SmrgBITMAP @ 51706f2543Smrg Property type: 52706f2543Smrg bitmap: PIXMAP 53706f2543Smrg This is asserted to be of depth 1. 54706f2543SmrgCARDINAL @ 55706f2543Smrg Property type: 56706f2543Smrg card: CARD32 or CARD16 or CARD8 57706f2543Smrg the datum size is dependent on the property format 58706f2543SmrgCOLORMAP @ 59706f2543Smrg Property type: 60706f2543Smrg colormap: COLORMAP 61706f2543SmrgCURSOR @ 62706f2543Smrg Property type: 63706f2543Smrg cursor: CURSOR 64706f2543SmrgCUT_BUFFER0 @ 65706f2543SmrgCUT_BUFFER1 @ 66706f2543SmrgCUT_BUFFER2 @ 67706f2543SmrgCUT_BUFFER3 @ 68706f2543SmrgCUT_BUFFER4 @ 69706f2543SmrgCUT_BUFFER5 @ 70706f2543SmrgCUT_BUFFER6 @ 71706f2543SmrgCUT_BUFFER7 @ 72706f2543Smrg Property name: (type: STRING) 73706f2543Smrg Used to implement cut buffer ring, in particular Andrew uses 74706f2543Smrg this mechanism. Anyone else using this sort of IPC mechanism 75706f2543Smrg should use these properties. 76706f2543Smrg 77706f2543Smrg Data is normally fetched and stored out of CUT_BUFFER0; the 78706f2543Smrg RotateProperties request is used to rotate these buffers. 79706f2543SmrgDRAWABLE @ 80706f2543Smrg Property type: 81706f2543Smrg drawable: DRAWABLE 82706f2543SmrgFONT @ 83706f2543Smrg Property type: 84706f2543Smrg font: FONT 85706f2543SmrgINTEGER @ 86706f2543Smrg Property type: 87706f2543Smrg card: INT32 or INT16 or INT8 88706f2543Smrg the datum size is dependent on the property format 89706f2543SmrgPIXMAP @ 90706f2543Smrg Property type: 91706f2543Smrg pixmap: PIXMAP 92706f2543SmrgPOINT @ 93706f2543Smrg Property type: 94706f2543Smrg x, y: INT16 95706f2543SmrgRECTANGLE @ 96706f2543Smrg Property type: 97706f2543Smrg x, y: INT16 98706f2543Smrg width, height: CARD16 99706f2543SmrgRESOURCE_MANAGER @ 100706f2543Smrg Property name: (type: STRING) 101706f2543Smrg Contents of the user's resource manager data base. 102706f2543SmrgRGB_COLOR_MAP @ 103706f2543Smrg Property type: 104706f2543Smrg colormap: COLORMAP 105706f2543Smrg red-max: CARD32 106706f2543Smrg red-mult: CARD32 107706f2543Smrg green-max: CARD32 108706f2543Smrg green-mult: CARD32 109706f2543Smrg blue-max: CARD32 110706f2543Smrg blue-mult: CARD32 111706f2543Smrg base-pixel: CARD32 112706f2543Smrg 113706f2543Smrg The fields `red_max', `green_max', and `blue_max' give the maximum 114706f2543Smrg red, green, and blue values, respectively. Each color 115706f2543Smrg coefficient ranges from 0 to its max, inclusive. For example, 116706f2543Smrg a common colormap allocation is 3/3/2: 3 planes for red, 3 117706f2543Smrg planes for green, and 2 planes for blue. Such a colormap would 118706f2543Smrg have red_max == 7, green_max = 7, and blue_max = 3. An alternate 119706f2543Smrg allocation that uses only 216 colors is red_max = 5, green_max = 120706f2543Smrg 5, and blue_max = 5. 121706f2543Smrg 122706f2543Smrg The fields `red_mult', `green_mult', and `blue_mult' give the 123706f2543Smrg scale factors used to compose a full pixel value. (See next 124706f2543Smrg paragraph.) For a 3/3/2 allocation red_mult might be 32, 125706f2543Smrg green_mult might be 4, and blue_mult might be 1. For a 126706f2543Smrg 6-colors-each allocation, red_mult might be 36, green_mult might 127706f2543Smrg be 6, and blue_mult might be 1. 128706f2543Smrg 129706f2543Smrg The field `base_pixel' gives the base pixel value used to 130706f2543Smrg compose a full pixel value. Normally base_pixel is obtained 131706f2543Smrg from a call to XAllocColorPlanes(). Given integer red, green, 132706f2543Smrg and blue coefficients in their appropriate ranges, one can 133706f2543Smrg compute a corresponding pixel value with the expression: 134706f2543Smrg 135706f2543Smrg r * red_mult + g * green_mult + b * blue_mult + base_pixel 136706f2543Smrg 137706f2543Smrg For gray-scale colormaps, only the colormap, red_max, red_mult, 138706f2543Smrg and base_pixel fields are defined; the other fields are 139706f2543Smrg ignored. To compute a gray-scale pixel value, use: 140706f2543Smrg 141706f2543Smrg gray * red_mult + base_pixel 142706f2543Smrg 143706f2543Smrg This is provided to allow applications to share color maps. 144706f2543Smrg 145706f2543SmrgRGB_BEST_MAP @ 146706f2543SmrgRGB_BLUE_MAP @ 147706f2543SmrgRGB_DEFAULT_MAP @ 148706f2543SmrgRGB_GRAY_MAP @ 149706f2543SmrgRGB_GREEN_MAP @ 150706f2543SmrgRGB_RED_MAP @ 151706f2543Smrg Property name: (type: RGB_COLOR_MAP) 152706f2543Smrg The needs of most applications can be met with five colormaps. 153706f2543Smrg Polite applications may need only a small RGB space, and can 154706f2543Smrg use a portion of the default color map. Applications doing 155706f2543Smrg high-quality RGB rendering will need an entire colormap, 156706f2543Smrg filled with as large an RGB space as possible, e.g. 332. For 157706f2543Smrg color separations, an application may need maximum device 158706f2543Smrg resolution for each of red, green, and blue, even if this 159706f2543Smrg requires three renderings with three colormaps. 160706f2543Smrg 161706f2543Smrg Each of the above five names would be used for sharing color 162706f2543Smrg maps. 163706f2543SmrgSTRING @ 164706f2543Smrg Property type: 165706f2543Smrg sequence of Bytes 166706f2543SmrgVISUALID @ 167706f2543Smrg Property type: 168706f2543Smrg visual: VISUALID 169706f2543SmrgWINDOW @ 170706f2543Smrg Property type: 171706f2543Smrg window: WINDOW 172706f2543SmrgWM_COMMAND @ 173706f2543Smrg Property name: (type: STRING) 174706f2543Smrg Command line arguments used to invoke this application. The 175706f2543Smrg arguments are delimited by null characters (ASCII 0). 176706f2543SmrgWM_HINTS @ 177706f2543Smrg Property type: 178706f2543Smrg flags: CARD32 179706f2543Smrg input: BOOL32 180706f2543Smrg initial-state: CARD32 181706f2543Smrg icon-pixmap: PIXMAP 182706f2543Smrg icon-window: WINDOW 183706f2543Smrg icon_mask: BITMAP 184706f2543Smrg icon-x, icon-y: INT32 185706f2543Smrg flags contains the following bits 186706f2543Smrg 0x00000001 input hint 187706f2543Smrg 0x00000002 state hint 188706f2543Smrg 0x00000004 icon pixmap hint 189706f2543Smrg 0x00000008 icon window hint 190706f2543Smrg 0x00000010 icon position hint 191706f2543Smrg values for initial-state 192706f2543Smrg 0 unspecified -> application does not 193706f2543Smrg care and WM should pick one. 194706f2543Smrg 1 normal 195706f2543Smrg 2 zoomed 196706f2543Smrg 3 iconic 197706f2543Smrg 4 inactive -> application believes 198706f2543Smrg itself to be seldomly used. WM may wish to 199706f2543Smrg place it on an inactive menu. 200706f2543Smrg This type is potentially extensible. The order is critical; 201706f2543Smrg append to the end only. 202706f2543Smrg Property name: (type: WM_HINTS) 203706f2543Smrg Additional hints set by the client for use by the window 204706f2543Smrg manager. 205706f2543SmrgWM_CLIENT_MACHINE @ 206706f2543Smrg Property name: (type: STRING) 207706f2543Smrg used to communicate with the window manager. The host name 208706f2543Smrg of the machine the client is running on may be set here. 209706f2543SmrgWM_ICON_NAME @ 210706f2543Smrg Property name: (type: STRING) 211706f2543Smrg what the application would like the label to be for 212706f2543Smrg the iconic form of the window. 213706f2543SmrgWM_ICON_SIZE @ 214706f2543Smrg Property type: 215706f2543Smrg minWidth, min-height: CARD32 216706f2543Smrg maxWidth, max-height: CARD32 217706f2543Smrg widthInc, height-inc: CARD32 218706f2543Smrg Property name: (type: ICON_SIZE) 219706f2543Smrg The window manager may set this property on the root window 220706f2543Smrg to specify the icon sizes it allows. 221706f2543SmrgWM_NAME @ 222706f2543Smrg Property name: (type: STRING) 223706f2543Smrg used to communicate with the window manager. This is 224706f2543Smrg what the application would like the label for the window. 225706f2543SmrgWM_NORMAL_HINTS @ 226706f2543Smrg Property name: (type: SIZE_HINTS) 227706f2543Smrg used to communicate with the window manager. This is size 228706f2543Smrg hints for a window in its "normal" state. 229706f2543SmrgWM_SIZE_HINTS @ 230706f2543Smrg Property type: 231706f2543Smrg flags: CARD32 232706f2543Smrg x, y: INT32 233706f2543Smrg width, height: CARD32 234706f2543Smrg min-width, min-height: CARD32 235706f2543Smrg max-width, max-height: CARD32 236706f2543Smrg width-inc, height-inc: CARD32 237706f2543Smrg min-aspect-x, min-aspect-y: CARD32 238706f2543Smrg max-aspect-x, max-aspect-y: CARD32 239706f2543Smrg flags contains the following bits 240706f2543Smrg 0x00000001 user specified x and y 241706f2543Smrg 0x00000002 user specified width and height 242706f2543Smrg 0x00000004 program specified position 243706f2543Smrg 0x00000008 program specified size 244706f2543Smrg 0x00000010 program specified minimum size 245706f2543Smrg 0x00000020 program specified maximum size 246706f2543Smrg 0x00000040 program specified resize increment 247706f2543Smrg 0x00000080 program specified aspect ratio 248706f2543Smrg This type is potentially extensible. The order is critical; 249706f2543Smrg append to the end only. 250706f2543SmrgWM_ZOOM_HINTS @ 251706f2543Smrg Property name: (type: SIZE_HINTS) 252706f2543Smrg used to communicate with the window manager. This is size 253706f2543Smrg hints for a window in its "zoomed" state. 254706f2543Smrg 255706f2543Smrg -- Font properties -- 256706f2543Smrg 257706f2543SmrgMIN_SPACE @ 258706f2543Smrg Font property: CARD32 259706f2543SmrgNORM_SPACE @ 260706f2543Smrg Font property: CARD32 261706f2543SmrgMAX_SPACE @ 262706f2543Smrg Font property: CARD32 263706f2543SmrgEND_SPACE @ 264706f2543Smrg Font property: CARD32 265706f2543SmrgSUPERSCRIPT_X @ 266706f2543Smrg Font property: INT32 267706f2543SmrgSUPERSCRIPT_Y @ 268706f2543Smrg Font property: INT32 269706f2543SmrgSUBSCRIPT_X @ 270706f2543Smrg Font property: INT32 271706f2543SmrgSUBSCRIPT_Y @ 272706f2543Smrg Font property: INT32 273706f2543SmrgUNDERLINE_POSITION @ 274706f2543Smrg Font property: INT32 275706f2543SmrgUNDERLINE_THICKNESS @ 276706f2543Smrg Font property: CARD32 277706f2543SmrgSTRIKEOUT_ASCENT @ 278706f2543Smrg Font property: INT32 279706f2543SmrgSTRIKEOUT_DESCENT @ 280706f2543Smrg Font property: INT32 281706f2543SmrgITALIC_ANGLE @ 282706f2543Smrg Font property: INT32 283706f2543SmrgX_HEIGHT @ 284706f2543Smrg Font property: INT32 285706f2543SmrgQUAD_WIDTH @ 286706f2543Smrg Font property: INT32 287706f2543SmrgWEIGHT @ 288706f2543Smrg Font property: CARD32 289706f2543SmrgPOINT_SIZE @ 290706f2543Smrg Font property: CARD32 291706f2543SmrgRESOLUTION @ 292706f2543Smrg Font property: CARD32 293706f2543Smrg 294706f2543SmrgThe following optional properties on fonts have values that are atoms. The 295706f2543Smrgatom print name is the useful information. 296706f2543Smrg 297706f2543SmrgCOPYRIGHT @ 298706f2543Smrg of the font distribution 299706f2543SmrgNOTICE @ 300706f2543Smrg trademark/copyright of the character shapes 301706f2543SmrgFONT_NAME @ 302706f2543Smrg name of this particular instance of a font 303706f2543SmrgFAMILY_NAME @ 304706f2543Smrg name of the 'font family' to which it belongs 305706f2543SmrgFULL_NAME @ 306706f2543Smrg full text name of the font 307706f2543Smrg 308706f2543SmrgThe following aren't in order but putting them at the end avoids encoding 309706f2543Smrgchanges. 310706f2543Smrg 311706f2543SmrgCAP_HEIGHT @ 312706f2543Smrg Font property: CARD32 313706f2543Smrg 314706f2543Smrg 315706f2543SmrgWM_CLASS @ 316706f2543Smrg Property name: (type: STRING) 317706f2543Smrg Used (possibly by some window managers; definitely by 318706f2543Smrg session managers) to look up resources in the resource 319706f2543Smrg data base on behalf of the client who set this property. 320706f2543Smrg There are 2 elements: 321706f2543Smrg {char *resource_name; char *resource_class;} 322706f2543Smrg delimited by a null character (ascii 0) 323706f2543Smrg 324706f2543SmrgWM_TRANSIENT_FOR @ 325706f2543Smrg Property name: (type: WINDOW) 326706f2543Smrg Used by transient top-level windows, such as dialog 327706f2543Smrg boxes, to point to their logical "parents". The window 328706f2543Smrg manager can then take down the dialog boxes when the 329706f2543Smrg "parent" gets iconified, for instance. 330