Skip to content

Chapter 7. Predefined Atoms

Predefined atoms are not strictly necessary and may not be useful in all environments, but they will eliminate many InternAtom requests in most applications. Note that they are predefined only in the sense of having numeric values, not in the sense of having required semantics. The core protocol imposes no semantics on these names, but semantics are specified in other X Window System standards, such as the Inter-Client Communication Conventions Manual and the X Logical Font Description Conventions.

The following names have predefined atom values. Note that uppercase and lowercase matter.

ARCITALIC_ANGLESTRING
ATOMMAX_SPACESUBSCRIPT_X
BITMAPMIN_SPACESUBSCRIPT_Y
CAP_HEIGHTNORM_SPACESUPERSCRIPT_X
CARDINALNOTICESUPERSCRIPT_Y
COLORMAPPIXMAPUNDERLINE_POSITION
COPYRIGHTPOINTUNDERLINE_THICKNESS
CURSORPOINT_SIZEVISUALID
CUT_BUFFER0PRIMARYWEIGHT
CUT_BUFFER1QUAD_WIDTHWINDOW
CUT_BUFFER2RECTANGLEWM_CLASS
CUT_BUFFER3RESOLUTIONWM_CLIENT_MACHINE
CUT_BUFFER4RESOURCE_MANAGERWM_COMMAND
CUT_BUFFER5RGB_BEST_MAPWM_HINTS
CUT_BUFFER6RGB_BLUE_MAPWM_ICON_NAME
CUT_BUFFER7RGB_COLOR_MAPWM_ICON_SIZE
DRAWABLERGB_DEFAULT_MAPWM_NAME
END_SPACERGB_GRAY_MAPWM_NORMAL_HINTS
FAMILY_NAMERGB_GREEN_MAPWM_SIZE_HINTS
FONTRGB_RED_MAPWM_TRANSIENT_FOR
FONT_NAMESECONDARYWM_ZOOM_HINTS
FULL_NAMESTRIKEOUT_ASCENTX_HEIGHT
INTEGERSTRIKEOUT_DESCENT 

To avoid conflicts with possible future names for which semantics might be imposed (either at the protocol level or in terms of higher level user interface models), names beginning with an underscore should be used for atoms that are private to a particular vendor or organization. To guarantee no conflicts between vendors and organizations, additional prefixes need to be used. However, the protocol does not define the mechanism for choosing such prefixes. For names private to a single application or end user but stored in globally accessible locations, it is suggested that two leading underscores be used to avoid conflicts with other names.