105b261ecSmrgFile: .../x11/server/dix/BuiltInAtoms 205b261ecSmrg 305b261ecSmrgThis file is of a fixed format and is used to generate both the file 405b261ecSmrginclude/XAtom.h and dix/initatoms.c. Neither of those files should be 505b261ecSmrgedited directly. Changing the atoms in this file, or even the order in 605b261ecSmrgwhich they occur, is equivalent to forcing a new (minor) version number 705b261ecSmrgon the server. Take care. 805b261ecSmrg 905b261ecSmrgThe format of the file is that each built in atom starts in column 1 1005b261ecSmrgwith no text, other than spaces and tabs, on that line other than a 1105b261ecSmrgmandatory trailing "@" at the end of the line. For each atom (Foo) 1205b261ecSmrgbelow the defines will be of the form 1305b261ecSmrg #define XA_Foo <n> 1405b261ecSmrgand the string value of the atom will be "Foo". 1505b261ecSmrg 1605b261ecSmrgThe comment lines in this file are not guaranteed to be accurate. To see the 1705b261ecSmrgcurrent truth, look at the Xlib documentation as well as the protocol spec. 1805b261ecSmrg 1905b261ecSmrgAtoms occur in five distinct name spaces within the protocol. Any particular 2005b261ecSmrgatom may or may not have some client interpretation within each of the name 2105b261ecSmrgspaces. For each of the built in atoms, the intended semantics and the space 2205b261ecSmrgwithin which it is defined is indicated. 2305b261ecSmrg 2405b261ecSmrgThose name spaces are 2505b261ecSmrg Property names 2605b261ecSmrg Property types 2705b261ecSmrg Selections 2805b261ecSmrg Font properties 2905b261ecSmrg Type of a ClientMessage event (none built into server) 3005b261ecSmrg 3105b261ecSmrgFor the font properties mentioned here, see the spec for more information. 3205b261ecSmrg 3305b261ecSmrg -- Selections -- 3405b261ecSmrg 3505b261ecSmrgPRIMARY @ 3605b261ecSmrg Selection. 3705b261ecSmrgSECONDARY @ 3805b261ecSmrg Selection. 3905b261ecSmrg 4005b261ecSmrg -- Property types and names -- 4105b261ecSmrg 4205b261ecSmrgARC @ 4305b261ecSmrg Property type: 4405b261ecSmrg x, y: INT16 4505b261ecSmrg width, height: CARD16, 4605b261ecSmrg angle1, angle2: INT16 4705b261ecSmrgATOM @ 4805b261ecSmrg Property type: 4905b261ecSmrg atom: ATOM 5005b261ecSmrgBITMAP @ 5105b261ecSmrg Property type: 5205b261ecSmrg bitmap: PIXMAP 5305b261ecSmrg This is asserted to be of depth 1. 5405b261ecSmrgCARDINAL @ 5505b261ecSmrg Property type: 5605b261ecSmrg card: CARD32 or CARD16 or CARD8 5705b261ecSmrg the datum size is dependent on the property format 5805b261ecSmrgCOLORMAP @ 5905b261ecSmrg Property type: 6005b261ecSmrg colormap: COLORMAP 6105b261ecSmrgCURSOR @ 6205b261ecSmrg Property type: 6305b261ecSmrg cursor: CURSOR 6405b261ecSmrgCUT_BUFFER0 @ 6505b261ecSmrgCUT_BUFFER1 @ 6605b261ecSmrgCUT_BUFFER2 @ 6705b261ecSmrgCUT_BUFFER3 @ 6805b261ecSmrgCUT_BUFFER4 @ 6905b261ecSmrgCUT_BUFFER5 @ 7005b261ecSmrgCUT_BUFFER6 @ 7105b261ecSmrgCUT_BUFFER7 @ 7205b261ecSmrg Property name: (type: STRING) 7305b261ecSmrg Used to implement cut buffer ring, in particular Andrew uses 7405b261ecSmrg this mechanism. Anyone else using this sort of IPC mechanism 7505b261ecSmrg should use these properties. 7605b261ecSmrg 7705b261ecSmrg Data is normally fetched and stored out of CUT_BUFFER0; the 7805b261ecSmrg RotateProperties request is used to rotate these buffers. 7905b261ecSmrgDRAWABLE @ 8005b261ecSmrg Property type: 8105b261ecSmrg drawable: DRAWABLE 8205b261ecSmrgFONT @ 8305b261ecSmrg Property type: 8405b261ecSmrg font: FONT 8505b261ecSmrgINTEGER @ 8605b261ecSmrg Property type: 8705b261ecSmrg card: INT32 or INT16 or INT8 8805b261ecSmrg the datum size is dependent on the property format 8905b261ecSmrgPIXMAP @ 9005b261ecSmrg Property type: 9105b261ecSmrg pixmap: PIXMAP 9205b261ecSmrgPOINT @ 9305b261ecSmrg Property type: 9405b261ecSmrg x, y: INT16 9505b261ecSmrgRECTANGLE @ 9605b261ecSmrg Property type: 9705b261ecSmrg x, y: INT16 9805b261ecSmrg width, height: CARD16 9905b261ecSmrgRESOURCE_MANAGER @ 10005b261ecSmrg Property name: (type: STRING) 10105b261ecSmrg Contents of the user's resource manager data base. 10205b261ecSmrgRGB_COLOR_MAP @ 10305b261ecSmrg Property type: 10405b261ecSmrg colormap: COLORMAP 10505b261ecSmrg red-max: CARD32 10605b261ecSmrg red-mult: CARD32 10705b261ecSmrg green-max: CARD32 10805b261ecSmrg green-mult: CARD32 10905b261ecSmrg blue-max: CARD32 11005b261ecSmrg blue-mult: CARD32 11105b261ecSmrg base-pixel: CARD32 11205b261ecSmrg 11305b261ecSmrg The fields `red_max', `green_max', and `blue_max' give the maximum 11405b261ecSmrg red, green, and blue values, respectively. Each color 11505b261ecSmrg coefficient ranges from 0 to its max, inclusive. For example, 11605b261ecSmrg a common colormap allocation is 3/3/2: 3 planes for red, 3 11705b261ecSmrg planes for green, and 2 planes for blue. Such a colormap would 11805b261ecSmrg have red_max == 7, green_max = 7, and blue_max = 3. An alternate 11905b261ecSmrg allocation that uses only 216 colors is red_max = 5, green_max = 12005b261ecSmrg 5, and blue_max = 5. 12105b261ecSmrg 12205b261ecSmrg The fields `red_mult', `green_mult', and `blue_mult' give the 12305b261ecSmrg scale factors used to compose a full pixel value. (See next 12405b261ecSmrg paragraph.) For a 3/3/2 allocation red_mult might be 32, 12505b261ecSmrg green_mult might be 4, and blue_mult might be 1. For a 12605b261ecSmrg 6-colors-each allocation, red_mult might be 36, green_mult might 12705b261ecSmrg be 6, and blue_mult might be 1. 12805b261ecSmrg 12905b261ecSmrg The field `base_pixel' gives the base pixel value used to 13005b261ecSmrg compose a full pixel value. Normally base_pixel is obtained 13105b261ecSmrg from a call to XAllocColorPlanes(). Given integer red, green, 13205b261ecSmrg and blue coefficients in their appropriate ranges, one can 13305b261ecSmrg compute a corresponding pixel value with the expression: 13405b261ecSmrg 13505b261ecSmrg r * red_mult + g * green_mult + b * blue_mult + base_pixel 13605b261ecSmrg 13705b261ecSmrg For gray-scale colormaps, only the colormap, red_max, red_mult, 13805b261ecSmrg and base_pixel fields are defined; the other fields are 13905b261ecSmrg ignored. To compute a gray-scale pixel value, use: 14005b261ecSmrg 14105b261ecSmrg gray * red_mult + base_pixel 14205b261ecSmrg 14305b261ecSmrg This is provided to allow applications to share color maps. 14405b261ecSmrg 14505b261ecSmrgRGB_BEST_MAP @ 14605b261ecSmrgRGB_BLUE_MAP @ 14705b261ecSmrgRGB_DEFAULT_MAP @ 14805b261ecSmrgRGB_GRAY_MAP @ 14905b261ecSmrgRGB_GREEN_MAP @ 15005b261ecSmrgRGB_RED_MAP @ 15105b261ecSmrg Property name: (type: RGB_COLOR_MAP) 15205b261ecSmrg The needs of most applications can be met with five colormaps. 15305b261ecSmrg Polite applications may need only a small RGB space, and can 15405b261ecSmrg use a portion of the default color map. Applications doing 15505b261ecSmrg high-quality RGB rendering will need an entire colormap, 15605b261ecSmrg filled with as large an RGB space as possible, e.g. 332. For 15705b261ecSmrg color separations, an application may need maximum device 15805b261ecSmrg resolution for each of red, green, and blue, even if this 15905b261ecSmrg requires three renderings with three colormaps. 16005b261ecSmrg 16105b261ecSmrg Each of the above five names would be used for sharing color 16205b261ecSmrg maps. 16305b261ecSmrgSTRING @ 16405b261ecSmrg Property type: 16505b261ecSmrg sequence of Bytes 16605b261ecSmrgVISUALID @ 16705b261ecSmrg Property type: 16805b261ecSmrg visual: VISUALID 16905b261ecSmrgWINDOW @ 17005b261ecSmrg Property type: 17105b261ecSmrg window: WINDOW 17205b261ecSmrgWM_COMMAND @ 17305b261ecSmrg Property name: (type: STRING) 17405b261ecSmrg Command line arguments used to invoke this application. The 17505b261ecSmrg arguments are delimited by null characters (ASCII 0). 17605b261ecSmrgWM_HINTS @ 17705b261ecSmrg Property type: 17805b261ecSmrg flags: CARD32 17905b261ecSmrg input: BOOL32 18005b261ecSmrg initial-state: CARD32 18105b261ecSmrg icon-pixmap: PIXMAP 18205b261ecSmrg icon-window: WINDOW 18305b261ecSmrg icon_mask: BITMAP 18405b261ecSmrg icon-x, icon-y: INT32 18505b261ecSmrg flags contains the following bits 18605b261ecSmrg 0x00000001 input hint 18705b261ecSmrg 0x00000002 state hint 18805b261ecSmrg 0x00000004 icon pixmap hint 18905b261ecSmrg 0x00000008 icon window hint 19005b261ecSmrg 0x00000010 icon position hint 19105b261ecSmrg values for initial-state 19205b261ecSmrg 0 unspecified -> application does not 19305b261ecSmrg care and WM should pick one. 19405b261ecSmrg 1 normal 19505b261ecSmrg 2 zoomed 19605b261ecSmrg 3 iconic 19705b261ecSmrg 4 inactive -> application believes 19805b261ecSmrg itself to be seldomly used. WM may wish to 19905b261ecSmrg place it on an inactive menu. 20005b261ecSmrg This type is potentially extensible. The order is critical; 20105b261ecSmrg append to the end only. 20205b261ecSmrg Property name: (type: WM_HINTS) 20305b261ecSmrg Additional hints set by the client for use by the window 20405b261ecSmrg manager. 20505b261ecSmrgWM_CLIENT_MACHINE @ 20605b261ecSmrg Property name: (type: STRING) 20705b261ecSmrg used to communicate with the window manager. The host name 20805b261ecSmrg of the machine the client is running on may be set here. 20905b261ecSmrgWM_ICON_NAME @ 21005b261ecSmrg Property name: (type: STRING) 21105b261ecSmrg what the application would like the label to be for 21205b261ecSmrg the iconic form of the window. 21305b261ecSmrgWM_ICON_SIZE @ 21405b261ecSmrg Property type: 21505b261ecSmrg minWidth, min-height: CARD32 21605b261ecSmrg maxWidth, max-height: CARD32 21705b261ecSmrg widthInc, height-inc: CARD32 21805b261ecSmrg Property name: (type: ICON_SIZE) 21905b261ecSmrg The window manager may set this property on the root window 22005b261ecSmrg to specify the icon sizes it allows. 22105b261ecSmrgWM_NAME @ 22205b261ecSmrg Property name: (type: STRING) 22305b261ecSmrg used to communicate with the window manager. This is 22405b261ecSmrg what the application would like the label for the window. 22505b261ecSmrgWM_NORMAL_HINTS @ 22605b261ecSmrg Property name: (type: SIZE_HINTS) 22705b261ecSmrg used to communicate with the window manager. This is size 22805b261ecSmrg hints for a window in its "normal" state. 22905b261ecSmrgWM_SIZE_HINTS @ 23005b261ecSmrg Property type: 23105b261ecSmrg flags: CARD32 23205b261ecSmrg x, y: INT32 23305b261ecSmrg width, height: CARD32 23405b261ecSmrg min-width, min-height: CARD32 23505b261ecSmrg max-width, max-height: CARD32 23605b261ecSmrg width-inc, height-inc: CARD32 23705b261ecSmrg min-aspect-x, min-aspect-y: CARD32 23805b261ecSmrg max-aspect-x, max-aspect-y: CARD32 23905b261ecSmrg flags contains the following bits 24005b261ecSmrg 0x00000001 user specified x and y 24105b261ecSmrg 0x00000002 user specified width and height 24205b261ecSmrg 0x00000004 program specified position 24305b261ecSmrg 0x00000008 program specified size 24405b261ecSmrg 0x00000010 program specified minimum size 24505b261ecSmrg 0x00000020 program specified maximum size 24605b261ecSmrg 0x00000040 program specified resize increment 24705b261ecSmrg 0x00000080 program specified aspect ratio 24805b261ecSmrg This type is potentially extensible. The order is critical; 24905b261ecSmrg append to the end only. 25005b261ecSmrgWM_ZOOM_HINTS @ 25105b261ecSmrg Property name: (type: SIZE_HINTS) 25205b261ecSmrg used to communicate with the window manager. This is size 25305b261ecSmrg hints for a window in its "zoomed" state. 25405b261ecSmrg 25505b261ecSmrg -- Font properties -- 25605b261ecSmrg 25705b261ecSmrgMIN_SPACE @ 25805b261ecSmrg Font property: CARD32 25905b261ecSmrgNORM_SPACE @ 26005b261ecSmrg Font property: CARD32 26105b261ecSmrgMAX_SPACE @ 26205b261ecSmrg Font property: CARD32 26305b261ecSmrgEND_SPACE @ 26405b261ecSmrg Font property: CARD32 26505b261ecSmrgSUPERSCRIPT_X @ 26605b261ecSmrg Font property: INT32 26705b261ecSmrgSUPERSCRIPT_Y @ 26805b261ecSmrg Font property: INT32 26905b261ecSmrgSUBSCRIPT_X @ 27005b261ecSmrg Font property: INT32 27105b261ecSmrgSUBSCRIPT_Y @ 27205b261ecSmrg Font property: INT32 27305b261ecSmrgUNDERLINE_POSITION @ 27405b261ecSmrg Font property: INT32 27505b261ecSmrgUNDERLINE_THICKNESS @ 27605b261ecSmrg Font property: CARD32 27705b261ecSmrgSTRIKEOUT_ASCENT @ 27805b261ecSmrg Font property: INT32 27905b261ecSmrgSTRIKEOUT_DESCENT @ 28005b261ecSmrg Font property: INT32 28105b261ecSmrgITALIC_ANGLE @ 28205b261ecSmrg Font property: INT32 28305b261ecSmrgX_HEIGHT @ 28405b261ecSmrg Font property: INT32 28505b261ecSmrgQUAD_WIDTH @ 28605b261ecSmrg Font property: INT32 28705b261ecSmrgWEIGHT @ 28805b261ecSmrg Font property: CARD32 28905b261ecSmrgPOINT_SIZE @ 29005b261ecSmrg Font property: CARD32 29105b261ecSmrgRESOLUTION @ 29205b261ecSmrg Font property: CARD32 29305b261ecSmrg 29405b261ecSmrgThe following optional properties on fonts have values that are atoms. The 29505b261ecSmrgatom print name is the useful information. 29605b261ecSmrg 29705b261ecSmrgCOPYRIGHT @ 29805b261ecSmrg of the font distribution 29905b261ecSmrgNOTICE @ 30005b261ecSmrg trademark/copyright of the character shapes 30105b261ecSmrgFONT_NAME @ 30205b261ecSmrg name of this particular instance of a font 30305b261ecSmrgFAMILY_NAME @ 30405b261ecSmrg name of the 'font family' to which it belongs 30505b261ecSmrgFULL_NAME @ 30605b261ecSmrg full text name of the font 30705b261ecSmrg 30805b261ecSmrgThe following aren't in order but putting them at the end avoids encoding 30905b261ecSmrgchanges. 31005b261ecSmrg 31105b261ecSmrgCAP_HEIGHT @ 31205b261ecSmrg Font property: CARD32 31305b261ecSmrg 31405b261ecSmrg 31505b261ecSmrgWM_CLASS @ 31605b261ecSmrg Property name: (type: STRING) 31705b261ecSmrg Used (possibly by some window managers; definitely by 31805b261ecSmrg session managers) to look up resources in the resource 31905b261ecSmrg data base on behalf of the client who set this property. 32005b261ecSmrg There are 2 elements: 32105b261ecSmrg {char *resource_name; char *resource_class;} 32205b261ecSmrg delimited by a null character (ascii 0) 32305b261ecSmrg 32405b261ecSmrgWM_TRANSIENT_FOR @ 32505b261ecSmrg Property name: (type: WINDOW) 32605b261ecSmrg Used by transient top-level windows, such as dialog 32705b261ecSmrg boxes, to point to their logical "parents". The window 32805b261ecSmrg manager can then take down the dialog boxes when the 32905b261ecSmrg "parent" gets iconified, for instance. 330