330 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			330 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| 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.
 |