Annotation of researchv9/X11/src/X.V11R1/server/dix/BuiltInAtoms, revision 1.1

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.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.