xserver

xserver with xephyr scale patch
git clone https://git.neptards.moe/u3shit/xserver.git
Log | Files | Refs | README | LICENSE

BuiltInAtoms (10579B)


      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.