File: .../x11/server/dix/BuiltInAtoms 
 | 
  
 | 
This file is of a fixed format and is used to generate both the file 
 | 
include/XAtom.h and dix/initatoms.c. Neither of those files should be 
 | 
edited directly. Changing the atoms in this file, or even the order in 
 | 
which they occur, is equivalent to forcing a new (minor) version number 
 | 
on the server. Take care. 
 | 
  
 | 
The format of the file is that each built in atom starts in column 1 
 | 
with no text, other than spaces and tabs, on that line other than a 
 | 
mandatory trailing "@" at the end of the line. For each atom (Foo) 
 | 
below the defines will be of the form 
 | 
    #define XA_Foo <n> 
 | 
and the string value of the atom will be "Foo". 
 | 
  
 | 
The comment lines in this file are not guaranteed to be accurate. To see the 
 | 
current truth, look at the Xlib documentation as well as the protocol spec. 
 | 
  
 | 
Atoms occur in five distinct name spaces within the protocol. Any particular 
 | 
atom may or may not have some client interpretation within each of the name 
 | 
spaces. For each of the built in atoms, the intended semantics and the space 
 | 
within which it is defined is indicated. 
 | 
  
 | 
Those name spaces are 
 | 
    Property names 
 | 
    Property types 
 | 
    Selections 
 | 
    Font properties 
 | 
    Type of a ClientMessage event    (none built into server) 
 | 
  
 | 
For the font properties mentioned here, see the spec for more information. 
 | 
  
 | 
                -- Selections -- 
 | 
  
 | 
PRIMARY                                          @ 
 | 
    Selection. 
 | 
SECONDARY                                      @ 
 | 
    Selection. 
 | 
  
 | 
            -- Property types and names -- 
 | 
  
 | 
ARC                                          @ 
 | 
    Property type: 
 | 
        x, y: INT16 
 | 
        width, height: CARD16, 
 | 
        angle1, angle2: INT16 
 | 
ATOM                                          @ 
 | 
    Property type: 
 | 
        atom: ATOM 
 | 
BITMAP                                          @ 
 | 
    Property type: 
 | 
        bitmap: PIXMAP 
 | 
            This is asserted to be of depth 1. 
 | 
CARDINAL                                      @ 
 | 
    Property type: 
 | 
        card: CARD32 or CARD16 or CARD8 
 | 
        the datum size is dependent on the property format 
 | 
COLORMAP                                      @ 
 | 
    Property type: 
 | 
        colormap: COLORMAP 
 | 
CURSOR                                          @ 
 | 
    Property type: 
 | 
        cursor: CURSOR 
 | 
CUT_BUFFER0                                      @ 
 | 
CUT_BUFFER1                                      @ 
 | 
CUT_BUFFER2                                      @ 
 | 
CUT_BUFFER3                                      @ 
 | 
CUT_BUFFER4                                      @ 
 | 
CUT_BUFFER5                                      @ 
 | 
CUT_BUFFER6                                      @ 
 | 
CUT_BUFFER7                                      @ 
 | 
    Property name:    (type: STRING) 
 | 
        Used to implement cut buffer ring, in particular Andrew uses 
 | 
        this mechanism.  Anyone else using this sort of IPC mechanism 
 | 
        should use these properties. 
 | 
  
 | 
        Data is normally fetched and stored out of CUT_BUFFER0; the 
 | 
        RotateProperties request is used to rotate these buffers. 
 | 
DRAWABLE                                      @ 
 | 
    Property type: 
 | 
        drawable: DRAWABLE 
 | 
FONT                                          @ 
 | 
    Property type: 
 | 
        font: FONT 
 | 
INTEGER                                          @ 
 | 
    Property type: 
 | 
        card: INT32 or INT16 or INT8 
 | 
        the datum size is dependent on the property format 
 | 
PIXMAP                                          @ 
 | 
    Property type: 
 | 
        pixmap: PIXMAP 
 | 
POINT                                          @ 
 | 
    Property type: 
 | 
        x, y: INT16 
 | 
RECTANGLE                                      @ 
 | 
    Property type: 
 | 
        x, y: INT16 
 | 
        width, height: CARD16 
 | 
RESOURCE_MANAGER                                  @ 
 | 
    Property name: (type: STRING) 
 | 
        Contents of the user's resource manager data base. 
 | 
RGB_COLOR_MAP                                      @ 
 | 
    Property type: 
 | 
        colormap:    COLORMAP 
 | 
        red-max:    CARD32 
 | 
        red-mult:    CARD32 
 | 
        green-max:    CARD32 
 | 
        green-mult:    CARD32 
 | 
        blue-max:    CARD32 
 | 
        blue-mult:    CARD32 
 | 
        base-pixel:    CARD32 
 | 
  
 | 
    The fields `red_max', `green_max', and `blue_max' give the maximum 
 | 
    red, green, and blue values, respectively.  Each color 
 | 
    coefficient ranges from 0 to its max, inclusive.  For example, 
 | 
    a common colormap allocation is 3/3/2:  3 planes for red, 3 
 | 
    planes for green, and 2 planes for blue.  Such a colormap would 
 | 
    have red_max == 7, green_max = 7, and blue_max = 3.  An alternate 
 | 
    allocation that uses only 216 colors is red_max = 5, green_max = 
 | 
    5, and blue_max = 5. 
 | 
  
 | 
    The fields `red_mult', `green_mult', and `blue_mult' give the 
 | 
    scale factors used to compose a full pixel value.  (See next 
 | 
    paragraph.)  For a 3/3/2 allocation red_mult might be 32, 
 | 
    green_mult might be 4, and blue_mult might be 1.  For a 
 | 
    6-colors-each allocation, red_mult might be 36, green_mult might 
 | 
    be 6, and blue_mult might be 1. 
 | 
  
 | 
    The field `base_pixel' gives the base pixel value used to 
 | 
    compose a full pixel value.  Normally base_pixel is obtained 
 | 
    from a call to XAllocColorPlanes().  Given integer red, green, 
 | 
    and blue coefficients in their appropriate ranges, one can 
 | 
    compute a corresponding pixel value with the expression: 
 | 
  
 | 
        r * red_mult + g * green_mult + b * blue_mult + base_pixel 
 | 
     
 | 
    For gray-scale colormaps, only the colormap, red_max, red_mult, 
 | 
    and base_pixel fields are defined; the other fields are 
 | 
    ignored.  To compute a gray-scale pixel value, use: 
 | 
  
 | 
        gray * red_mult + base_pixel 
 | 
  
 | 
    This is provided to allow applications to share color maps. 
 | 
  
 | 
RGB_BEST_MAP                                      @ 
 | 
RGB_BLUE_MAP                                      @ 
 | 
RGB_DEFAULT_MAP                                      @ 
 | 
RGB_GRAY_MAP                                      @ 
 | 
RGB_GREEN_MAP                                      @ 
 | 
RGB_RED_MAP                                      @ 
 | 
    Property name:    (type: RGB_COLOR_MAP) 
 | 
        The needs of most applications can be met with five colormaps. 
 | 
        Polite applications may need only a small RGB space, and can 
 | 
        use a portion of the default color map. Applications doing 
 | 
        high-quality RGB rendering will need an entire colormap, 
 | 
        filled with as large an RGB space as possible, e.g. 332. For 
 | 
        color separations, an application may need maximum device 
 | 
        resolution for each of red, green, and blue, even if this 
 | 
        requires three renderings with three colormaps. 
 | 
  
 | 
        Each of the above five names would be used for sharing color 
 | 
        maps. 
 | 
STRING                                          @ 
 | 
    Property type: 
 | 
        sequence of Bytes 
 | 
VISUALID                                      @ 
 | 
    Property type: 
 | 
        visual: VISUALID 
 | 
WINDOW                                          @ 
 | 
    Property type: 
 | 
        window: WINDOW 
 | 
WM_COMMAND                                      @ 
 | 
    Property name: (type: STRING) 
 | 
        Command line arguments used to invoke this application. The 
 | 
        arguments are delimited by null characters (ASCII 0). 
 | 
WM_HINTS                                      @ 
 | 
    Property type: 
 | 
        flags:        CARD32 
 | 
        input:        BOOL32 
 | 
        initial-state:    CARD32 
 | 
        icon-pixmap:    PIXMAP 
 | 
        icon-window:    WINDOW 
 | 
        icon_mask:    BITMAP 
 | 
        icon-x, icon-y:    INT32 
 | 
            flags contains the following bits 
 | 
            0x00000001    input hint 
 | 
            0x00000002    state hint 
 | 
            0x00000004    icon pixmap hint 
 | 
            0x00000008    icon window hint 
 | 
            0x00000010    icon position hint 
 | 
             values for initial-state 
 | 
            0        unspecified -> application does not 
 | 
                care and WM should pick one. 
 | 
            1        normal 
 | 
            2        zoomed 
 | 
            3        iconic 
 | 
            4        inactive -> application believes 
 | 
                itself to be seldomly used. WM may wish to 
 | 
                place it on an inactive menu. 
 | 
        This type is potentially extensible. The order is critical; 
 | 
        append to the end only. 
 | 
    Property name:    (type: WM_HINTS) 
 | 
        Additional hints set by the client for use by the window 
 | 
        manager. 
 | 
WM_CLIENT_MACHINE                                  @ 
 | 
    Property name:    (type: STRING) 
 | 
        used to communicate with the window manager.  The host name 
 | 
        of the machine the client is running on may be set here. 
 | 
WM_ICON_NAME                                      @ 
 | 
    Property name:    (type: STRING) 
 | 
        what the application would like the label to be for 
 | 
        the iconic form of the window. 
 | 
WM_ICON_SIZE                                      @ 
 | 
    Property type: 
 | 
        minWidth, min-height:    CARD32 
 | 
        maxWidth, max-height:    CARD32 
 | 
        widthInc, height-inc:    CARD32 
 | 
    Property name:    (type: ICON_SIZE) 
 | 
        The window manager may set this property on the root window 
 | 
        to specify the icon sizes it allows. 
 | 
WM_NAME                                          @ 
 | 
    Property name:    (type: STRING) 
 | 
        used to communicate with the window manager. This is 
 | 
        what the application would like the label for the window. 
 | 
WM_NORMAL_HINTS                                      @ 
 | 
    Property name:    (type: SIZE_HINTS) 
 | 
        used to communicate with the window manager. This is size 
 | 
        hints for a window in its "normal" state. 
 | 
WM_SIZE_HINTS                                      @ 
 | 
    Property type: 
 | 
        flags:                CARD32 
 | 
        x, y:                INT32 
 | 
        width, height:            CARD32 
 | 
        min-width, min-height:        CARD32 
 | 
        max-width, max-height:        CARD32 
 | 
        width-inc, height-inc:        CARD32 
 | 
        min-aspect-x, min-aspect-y:    CARD32 
 | 
        max-aspect-x, max-aspect-y:    CARD32 
 | 
            flags contains the following bits 
 | 
            0x00000001    user specified x and y 
 | 
            0x00000002    user specified width and height 
 | 
            0x00000004    program specified position 
 | 
            0x00000008    program specified size 
 | 
            0x00000010    program specified minimum size 
 | 
            0x00000020    program specified maximum size 
 | 
            0x00000040    program specified resize increment 
 | 
            0x00000080    program specified aspect ratio 
 | 
        This type is potentially extensible. The order is critical; 
 | 
        append to the end only. 
 | 
WM_ZOOM_HINTS                                      @ 
 | 
    Property name:    (type: SIZE_HINTS) 
 | 
        used to communicate with the window manager. This is size 
 | 
        hints for a window in its "zoomed" state. 
 | 
  
 | 
                -- Font properties -- 
 | 
  
 | 
MIN_SPACE                                       @ 
 | 
    Font property: CARD32 
 | 
NORM_SPACE                                       @ 
 | 
    Font property: CARD32 
 | 
MAX_SPACE                                       @ 
 | 
    Font property: CARD32 
 | 
END_SPACE                                       @ 
 | 
    Font property: CARD32 
 | 
SUPERSCRIPT_X                                       @ 
 | 
    Font property: INT32 
 | 
SUPERSCRIPT_Y                                       @ 
 | 
    Font property: INT32 
 | 
SUBSCRIPT_X                                       @ 
 | 
    Font property: INT32 
 | 
SUBSCRIPT_Y                                       @ 
 | 
    Font property: INT32 
 | 
UNDERLINE_POSITION                                   @ 
 | 
    Font property: INT32 
 | 
UNDERLINE_THICKNESS                                   @ 
 | 
    Font property: CARD32     
 | 
STRIKEOUT_ASCENT                                   @ 
 | 
    Font property: INT32 
 | 
STRIKEOUT_DESCENT                                   @ 
 | 
    Font property: INT32 
 | 
ITALIC_ANGLE                                       @ 
 | 
    Font property: INT32 
 | 
X_HEIGHT                                       @ 
 | 
    Font property: INT32 
 | 
QUAD_WIDTH                                       @ 
 | 
    Font property: INT32 
 | 
WEIGHT                                           @ 
 | 
    Font property: CARD32 
 | 
POINT_SIZE                                       @ 
 | 
    Font property: CARD32 
 | 
RESOLUTION                                       @ 
 | 
    Font property: CARD32 
 | 
  
 | 
The following optional properties on fonts have values that are atoms. The 
 | 
atom print name is the useful information. 
 | 
  
 | 
COPYRIGHT                                       @ 
 | 
    of the font distribution 
 | 
NOTICE                                          @ 
 | 
    trademark/copyright of the character shapes 
 | 
FONT_NAME                                       @ 
 | 
    name of this particular instance of a font 
 | 
FAMILY_NAME                                       @ 
 | 
    name of the 'font family' to which it belongs 
 | 
FULL_NAME                                       @ 
 | 
    full text name of the font 
 | 
  
 | 
The following aren't in order but putting them at the end avoids encoding 
 | 
changes. 
 | 
  
 | 
CAP_HEIGHT                                       @ 
 | 
    Font property: CARD32 
 | 
  
 | 
  
 | 
WM_CLASS                                       @ 
 | 
    Property name: (type: STRING) 
 | 
        Used (possibly by some window managers; definitely by  
 | 
        session managers) to look up resources in the resource  
 | 
        data base on behalf of the client who set this property. 
 | 
        There are 2 elements: 
 | 
            {char *resource_name; char *resource_class;} 
 | 
        delimited by a null character (ascii 0) 
 | 
  
 | 
WM_TRANSIENT_FOR                                  @ 
 | 
    Property name: (type: WINDOW) 
 | 
        Used by transient top-level windows, such as dialog  
 | 
        boxes, to point to their logical "parents".  The window  
 | 
        manager can then take down the dialog boxes when the 
 | 
        "parent" gets iconified, for instance. 
 |