"Fossies" - the Fresh Open Source Software Archive

Member "xorg-server-1.20.5/dix/BuiltInAtoms" (30 May 2019, 10579 Bytes) of package /linux/misc/xorg-server-1.20.5.tar.bz2:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file.

    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.