summaryrefslogtreecommitdiff
path: root/specs/XProtocol/X11.encoding
diff options
context:
space:
mode:
Diffstat (limited to 'specs/XProtocol/X11.encoding')
-rw-r--r--specs/XProtocol/X11.encoding4431
1 files changed, 4431 insertions, 0 deletions
diff --git a/specs/XProtocol/X11.encoding b/specs/XProtocol/X11.encoding
new file mode 100644
index 0000000..ec45ead
--- /dev/null
+++ b/specs/XProtocol/X11.encoding
@@ -0,0 +1,4431 @@
+.\" $Xorg: X11.encoding,v 1.3 2000/08/17 19:42:23 cpqbld Exp $
+\&
+.sp 1
+.ps 11
+.nr PS 11
+.XS
+Appendix B \- Protocol Encoding
+.XE
+.ce 3
+\s+1\fBAppendix B\fP\s-1
+
+\s+1\fBProtocol Encoding\fP\s-1
+.sp 2
+.LP
+.\"The sections in this appendix correspond to their number counterparts
+.\"in the protocol document.
+.SH
+Syntactic Conventions
+.LP
+All numbers are in decimal,
+unless prefixed with #x, in which case they are in hexadecimal (base 16).
+.LP
+The general syntax used to describe requests, replies, errors, events, and
+compound types is:
+.LP
+.ps 9
+.nr PS 9
+.Ds
+.R
+.PN NameofThing
+ encode-form
+ ...
+ encode-form
+.De
+.ps 11
+.nr PS 11
+.LP
+Each encode-form describes a single component.
+.LP
+For components described in the protocol as:
+.LP
+.ps 9
+.nr PS 9
+.Ds
+.R
+name: TYPE
+.De
+.ps 11
+.nr PS 11
+.LP
+the encode-form is:
+.LP
+.ps 9
+.nr PS 9
+.Ds
+.TA 1i 1.5i 2.5i
+.ta 1i 1.5i 2.5i
+.R
+N TYPE name
+.De
+.ps 11
+.nr PS 11
+.LP
+N is the number of bytes occupied in the data stream,
+and TYPE is the interpretation of those bytes.
+For example,
+.LP
+.ps 9
+.nr PS 9
+.Ds
+.TA 1i 1.5i
+.ta 1i 1.5i
+.R
+depth: CARD8
+.De
+.ps 11
+.nr PS 11
+.LP
+becomes:
+.LP
+.ps 9
+.nr PS 9
+.Ds
+.R
+.TA 1i 1.5i 2.5i
+.ta 1i 1.5i 2.5i
+1 CARD8 depth
+.De
+.ps 11
+.nr PS 11
+.LP
+For components with a static numeric value the encode-form is:
+.LP
+.ps 9
+.nr PS 9
+.Ds
+.TA 1i 1.5i 2.5i
+.ta 1i 1.5i 2.5i
+.R
+N value name
+.De
+.ps 11
+.nr PS 11
+.LP
+The value is always interpreted as an N-byte unsigned integer.
+For example,
+the first two bytes of a
+.PN Window
+error are always zero (indicating an
+error in general) and three (indicating the
+.PN Window
+error in particular):
+.LP
+.ps 9
+.nr PS 9
+.Ds
+.TA 1i 1.5i 2.5i
+.ta 1i 1.5i 2.5i
+.R
+1 0 Error
+1 3 code
+.De
+.ps 11
+.nr PS 11
+.LP
+For components described in the protocol as:
+.RS
+.ps 9
+.nr PS 9
+.LP
+name:
+.Pn { Name1 ,...,
+.PN NameI }
+.RE
+.ps 11
+.nr PS 11
+.LP
+the encode-form is:
+.LP
+.ps 9
+.nr PS 9
+.Ds
+.TA 1i 1.5i 2.5i
+.ta 1i 1.5i 2.5i
+.R
+N name
+ value1 Name1
+ ...
+ valueI NameI
+.De
+.ps 11
+.nr PS 11
+.LP
+The value is always interpreted as an N-byte unsigned integer.
+Note that the size of N is sometimes larger than that strictly required
+to encode the values.
+For example:
+.RS
+.ps 9
+.nr PS 9
+.LP
+class:
+.Pn { InputOutput ,
+.PN InputOnly ,
+.PN CopyFromParent }
+.RE
+.ps 11
+.nr PS 11
+.LP
+becomes:
+.LP
+.ps 9
+.nr PS 9
+.Ds
+.TA 1i 1.5i 2.5i 3i
+.ta 1i 1.5i 2.5i 3i
+.R
+2 class
+ 0 CopyFromParent
+ 1 InputOutput
+ 2 InputOnly
+.De
+.ps 11
+.nr PS 11
+.LP
+For components described in the protocol as:
+.RS
+.ps 9
+.nr PS 9
+.LP
+NAME: TYPE or
+.PN Alternative1 ...or
+.PN AlternativeI
+.RE
+.ps 11
+.nr PS 11
+.LP
+the encode-form is:
+.LP
+.ps 9
+.nr PS 9
+.Ds
+.TA 1i 1.5i 2i 2.5i 3i
+.ta 1i 1.5i 2i 2.5i 3i
+.R
+N TYPE NAME
+ value1 Alternative1
+ ...
+ valueI AlternativeI
+.De
+.ps 11
+.nr PS 11
+.LP
+The alternative values are guaranteed not to conflict with the encoding
+of TYPE.
+For example:
+.RS
+.ps 9
+.nr PS 9
+.LP
+destination: WINDOW or
+.PN PointerWindow
+or
+.PN InputFocus
+.RE
+.ps 11
+.nr PS 11
+.LP
+becomes:
+.LP
+.ps 9
+.nr PS 9
+.Ds
+.TA 1i 1.5i 2.5i
+.ta 1i 1.5i 2.5i
+.R
+4 WINDOW destination
+ 0 PointerWindow
+ 1 InputFocus
+.De
+.ps 11
+.nr PS 11
+.LP
+For components described in the protocol as:
+.LP
+.ps 9
+.nr PS 9
+.Ds
+.TA 1i 1.5i
+.ta 1i 1.5i
+.R
+value-mask: BITMASK
+.De
+.ps 11
+.nr PS 11
+.LP
+the encode-form is:
+.LP
+.ps 9
+.nr PS 9
+.Ds
+.TA 1i 1.5i 2i 2.5i
+.ta 1i 1.5i 2i 2.5i
+.R
+N BITMASK value-mask
+ mask1 mask-name1
+ ...
+ maskI mask-nameI
+.De
+.ps 11
+.nr PS 11
+.LP
+The individual bits in the mask are specified and named,
+and N is 2 or 4.
+The most-significant bit in a BITMASK is reserved for use in defining
+chained (multiword) bitmasks, as extensions augment existing core requests.
+The precise interpretation of this bit is not yet defined here,
+although a probable mechanism is that a 1-bit indicates that another N bytes
+of bitmask follows, with bits within the overall mask still interpreted
+from least-significant to most-significant with an N-byte unit, with N-byte units
+interpreted in stream order, and with the overall mask being byte-swapped
+in individual N-byte units.
+.LP
+For LISTofVALUE encodings, the request is followed by a section of the form:
+.LP
+.ps 9
+.nr PS 9
+.Ds
+.TA 1i 1.5i
+.ta 1i 1.5i
+.R
+VALUEs
+ encode-form
+ ...
+ encode-form
+.De
+.ps 11
+.nr PS 11
+.LP
+listing an encode-form for each VALUE.
+The NAME in each encode-form keys to the corresponding BITMASK bit.
+The encoding of a VALUE always occupies four bytes,
+but the number of bytes specified in the encoding-form indicates how
+many of the least-significant bytes are actually used;
+the remaining bytes are unused and their values do not matter.
+.LP
+In various cases, the number of bytes occupied by a component will be specified
+by a lowercase single-letter variable name instead of a specific numeric
+value, and often some other component will have its value specified as a
+simple numeric expression involving these variables.
+Components specified with such expressions are always interpreted
+as unsigned integers.
+The scope of such variables is always just the enclosing request, reply,
+error, event, or compound type structure.
+For example:
+.LP
+.ps 9
+.nr PS 9
+.Ds
+.TA 1i 1.5i 2i 2.5i
+.ta 1i 1.5i 2i 2.5i
+.R
+2 3+n request length
+4n LISTofPOINT points
+.De
+.ps 11
+.nr PS 11
+.LP
+For unused bytes (the values of the bytes are undefined and do no matter),
+the encode-form is:
+.LP
+.ps 9
+.nr PS 9
+.Ds
+.R
+.TA 1i 1.5i 2i 2.5i
+.ta 1i 1.5i 2i 2.5i
+N unused
+.De
+.ps 11
+.nr PS 11
+.LP
+If the number of unused bytes is variable, the encode-form typically is:
+.LP
+.ps 9
+.nr PS 9
+.Ds
+.TA 1i 1.5i 2i 2.5i
+.ta 1i 1.5i 2i 2.5i
+.R
+p unused, p=pad(E)
+.De
+.ps 11
+.nr PS 11
+.LP
+where E is some expression,
+and pad(E) is the number of bytes needed to round E up to a multiple of four.
+.LP
+.ps 9
+.nr PS 9
+.Ds
+.TA 1i 1.5i 2i 2.5i
+.ta 1i 1.5i 2i 2.5i
+.R
+pad(E) = (4 - (E mod 4)) mod 4
+.De
+.ps 11
+.nr PS 11
+.SH
+Common Types
+.ps 9
+.nr PS 9
+.LP
+LISTofFOO
+.ps 11
+.nr PS 11
+.IP
+In this document the LISTof notation strictly means some number of repetitions
+of the FOO encoding;
+the actual length of the list is encoded elsewhere.
+.ps 9
+.nr PS 9
+.LP
+SETofFOO
+.ps 11
+.nr PS 11
+.IP
+A set is always represented by a bitmask, with a 1-bit indicating presence in
+the set.
+.ps 9
+.nr PS 9
+.LP
+BITMASK: CARD32
+.LP
+WINDOW: CARD32
+.LP
+PIXMAP: CARD32
+.LP
+CURSOR: CARD32
+.LP
+FONT: CARD32
+.LP
+GCONTEXT: CARD32
+.LP
+COLORMAP: CARD32
+.LP
+DRAWABLE: CARD32
+.LP
+FONTABLE: CARD32
+.LP
+ATOM: CARD32
+.LP
+VISUALID: CARD32
+.LP
+BYTE: 8-bit value
+.LP
+INT8: 8-bit signed integer
+.LP
+INT16: 16-bit signed integer
+.LP
+INT32: 32-bit signed integer
+.LP
+CARD8: 8-bit unsigned integer
+.LP
+CARD16: 16-bit unsigned integer
+.LP
+CARD32: 32-bit unsigned integer
+.LP
+TIMESTAMP: CARD32
+.LP
+.Ds 0
+.TA .75i 1.75i
+.ta .75i 1.75i
+.R
+BITGRAVITY
+ 0 Forget
+ 1 NorthWest
+ 2 North
+ 3 NorthEast
+ 4 West
+ 5 Center
+ 6 East
+ 7 SouthWest
+ 8 South
+ 9 SouthEast
+ 10 Static
+.De
+.LP
+.Ds 0
+.TA .75i 1.75i
+.ta .75i 1.75i
+.R
+WINGRAVITY
+ 0 Unmap
+ 1 NorthWest
+ 2 North
+ 3 NorthEast
+ 4 West
+ 5 Center
+ 6 East
+ 7 SouthWest
+ 8 South
+ 9 SouthEast
+ 10 Static
+.De
+.LP
+.Ds 0
+.TA .75i 1.75i
+.ta .75i 1.75i
+.R
+BOOL
+ 0 False
+ 1 True
+.De
+.LP
+.Ds 0
+.TA .75i 1.75i
+.ta .75i 1.75i
+.R
+SETofEVENT
+ #x00000001 KeyPress
+ #x00000002 KeyRelease
+ #x00000004 ButtonPress
+ #x00000008 ButtonRelease
+ #x00000010 EnterWindow
+ #x00000020 LeaveWindow
+ #x00000040 PointerMotion
+ #x00000080 PointerMotionHint
+ #x00000100 Button1Motion
+ #x00000200 Button2Motion
+ #x00000400 Button3Motion
+ #x00000800 Button4Motion
+ #x00001000 Button5Motion
+ #x00002000 ButtonMotion
+ #x00004000 KeymapState
+ #x00008000 Exposure
+ #x00010000 VisibilityChange
+ #x00020000 StructureNotify
+ #x00040000 ResizeRedirect
+ #x00080000 SubstructureNotify
+ #x00100000 SubstructureRedirect
+ #x00200000 FocusChange
+ #x00400000 PropertyChange
+ #x00800000 ColormapChange
+ #x01000000 OwnerGrabButton
+ #xFE000000 unused but must be zero
+.De
+.LP
+.Ds 0
+.TA .75i 1.75i
+.ta .75i 1.75i
+.R
+SETofPOINTEREVENT
+ encodings are the same as for SETofEVENT, except with
+ #xFFFF8003 unused but must be zero
+.De
+.LP
+.Ds 0
+.TA .75i 1.75i
+.ta .75i 1.75i
+.R
+SETofDEVICEEVENT
+ encodings are the same as for SETofEVENT, except with
+ #xFFFFC0B0 unused but must be zero
+.De
+KEYSYM: CARD32
+.LP
+KEYCODE: CARD8
+.LP
+BUTTON: CARD8
+.LP
+.Ds 0
+.TA .75i 1.75i
+.ta .75i 1.75i
+.R
+SETofKEYBUTMASK
+ #x0001 Shift
+ #x0002 Lock
+ #x0004 Control
+ #x0008 Mod1
+ #x0010 Mod2
+ #x0020 Mod3
+ #x0040 Mod4
+ #x0080 Mod5
+ #x0100 Button1
+ #x0200 Button2
+ #x0400 Button3
+ #x0800 Button4
+ #x1000 Button5
+ #xE000 unused but must be zero
+.De
+.LP
+.Ds 0
+.TA .75i 1.75i
+.ta .75i 1.75i
+.R
+SETofKEYMASK
+ encodings are the same as for SETofKEYBUTMASK, except with
+ #xFF00 unused but must be zero
+.De
+.LP
+STRING8: LISTofCARD8
+.LP
+STRING16: LISTofCHAR2B
+.LP
+.Ds 0
+.TA .2i .5i 1.5i
+.ta .2i .5i 1.5i
+.R
+CHAR2B
+ 1 CARD8 byte1
+ 1 CARD8 byte2
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i
+.ta .2i .5i 1.5i
+.R
+POINT
+ 2 INT16 x
+ 2 INT16 y
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i
+.ta .2i .5i 1.5i
+.R
+RECTANGLE
+ 2 INT16 x
+ 2 INT16 y
+ 2 CARD16 width
+ 2 CARD16 height
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i
+.ta .2i .5i 1.5i
+.R
+ARC
+ 2 INT16 x
+ 2 INT16 y
+ 2 CARD16 width
+ 2 CARD16 height
+ 2 INT16 angle1
+ 2 INT16 angle2
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+HOST
+ 1 family
+ 0 Internet
+ 1 DECnet
+ 2 Chaos
+ 1 unused
+ 2 n length of address
+ n LISTofBYTE address
+ p unused, p=pad(n)
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+STR
+ 1 n length of name in bytes
+ n STRING8 name
+.De
+.ps 11
+.nr PS 11
+.SH
+Errors
+.LP
+.ps 9
+.nr PS 9
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN Request
+ 1 0 Error
+ 1 1 code
+ 2 CARD16 sequence number
+ 4 unused
+ 2 CARD16 minor opcode
+ 1 CARD8 major opcode
+ 21 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN Value
+ 1 0 Error
+ 1 2 code
+ 2 CARD16 sequence number
+ 4 <32-bits> bad value
+ 2 CARD16 minor opcode
+ 1 CARD8 major opcode
+ 21 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN Window
+ 1 0 Error
+ 1 3 code
+ 2 CARD16 sequence number
+ 4 CARD32 bad resource id
+ 2 CARD16 minor opcode
+ 1 CARD8 major opcode
+ 21 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN Pixmap
+ 1 0 Error
+ 1 4 code
+ 2 CARD16 sequence number
+ 4 CARD32 bad resource id
+ 2 CARD16 minor opcode
+ 1 CARD8 major opcode
+ 21 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN Atom
+ 1 0 Error
+ 1 5 code
+ 2 CARD16 sequence number
+ 4 CARD32 bad atom id
+ 2 CARD16 minor opcode
+ 1 CARD8 major opcode
+ 21 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN Cursor
+ 1 0 Error
+ 1 6 code
+ 2 CARD16 sequence number
+ 4 CARD32 bad resource id
+ 2 CARD16 minor opcode
+ 1 CARD8 major opcode
+ 21 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN Font
+ 1 0 Error
+ 1 7 code
+ 2 CARD16 sequence number
+ 4 CARD32 bad resource id
+ 2 CARD16 minor opcode
+ 1 CARD8 major opcode
+ 21 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN Match
+ 1 0 Error
+ 1 8 code
+ 2 CARD16 sequence number
+ 4 unused
+ 2 CARD16 minor opcode
+ 1 CARD8 major opcode
+ 21 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN Drawable
+ 1 0 Error
+ 1 9 code
+ 2 CARD16 sequence number
+ 4 CARD32 bad resource id
+ 2 CARD16 minor opcode
+ 1 CARD8 major opcode
+ 21 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN Access
+ 1 0 Error
+ 1 10 code
+ 2 CARD16 sequence number
+ 4 unused
+ 2 CARD16 minor opcode
+ 1 CARD8 major opcode
+ 21 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN Alloc
+ 1 0 Error
+ 1 11 code
+ 2 CARD16 sequence number
+ 4 unused
+ 2 CARD16 minor opcode
+ 1 CARD8 major opcode
+ 21 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN Colormap
+ 1 0 Error
+ 1 12 code
+ 2 CARD16 sequence number
+ 4 CARD32 bad resource id
+ 2 CARD16 minor opcode
+ 1 CARD8 major opcode
+ 21 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN GContext
+ 1 0 Error
+ 1 13 code
+ 2 CARD16 sequence number
+ 4 CARD32 bad resource id
+ 2 CARD16 minor opcode
+ 1 CARD8 major opcode
+ 21 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN IDChoice
+ 1 0 Error
+ 1 14 code
+ 2 CARD16 sequence number
+ 4 CARD32 bad resource id
+ 2 CARD16 minor opcode
+ 1 CARD8 major opcode
+ 21 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN Name
+ 1 0 Error
+ 1 15 code
+ 2 CARD16 sequence number
+ 4 unused
+ 2 CARD16 minor opcode
+ 1 CARD8 major opcode
+ 21 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN Length
+ 1 0 Error
+ 1 16 code
+ 2 CARD16 sequence number
+ 4 unused
+ 2 CARD16 minor opcode
+ 1 CARD8 major opcode
+ 21 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN Implementation
+ 1 0 Error
+ 1 17 code
+ 2 CARD16 sequence number
+ 4 unused
+ 2 CARD16 minor opcode
+ 1 CARD8 major opcode
+ 21 unused
+.De
+.ps 11
+.nr PS 11
+.SH
+Keyboards
+.LP
+KEYCODE values are always greater than 7 (and less than 256).
+.LP
+KEYSYM values with the bit #x10000000 set are reserved as vendor-specific.
+.LP
+The names and encodings of the standard KEYSYM values are contained in
+Appendix A, Keysym Encoding.
+.SH
+Pointers
+.LP
+BUTTON values are numbered starting with one.
+.SH
+Predefined Atoms
+.LP
+.ps 9
+.nr PS 9
+.Ds 0
+.TA 1.75i 3i 4.75i
+.ta 1.75i 3i 4.75i
+PRIMARY 1 WM_NORMAL_HINTS 40
+SECONDARY 2 WM_SIZE_HINTS 41
+ARC 3 WM_ZOOM_HINTS 42
+ATOM 4 MIN_SPACE 43
+BITMAP 5 NORM_SPACE 44
+CARDINAL 6 MAX_SPACE 45
+COLORMAP 7 END_SPACE 46
+CURSOR 8 SUPERSCRIPT_X 47
+CUT_BUFFER0 9 SUPERSCRIPT_Y 48
+CUT_BUFFER1 10 SUBSCRIPT_X 49
+CUT_BUFFER2 11 SUBSCRIPT_Y 50
+CUT_BUFFER3 12 UNDERLINE_POSITION 51
+CUT_BUFFER4 13 UNDERLINE_THICKNESS 52
+CUT_BUFFER5 14 STRIKEOUT_ASCENT 53
+CUT_BUFFER6 15 STRIKEOUT_DESCENT 54
+CUT_BUFFER7 16 ITALIC_ANGLE 55
+DRAWABLE 17 X_HEIGHT 56
+FONT 18 QUAD_WIDTH 57
+INTEGER 19 WEIGHT 58
+PIXMAP 20 POINT_SIZE 59
+POINT 21 RESOLUTION 60
+RECTANGLE 22 COPYRIGHT 61
+RESOURCE_MANAGER 23 NOTICE 62
+RGB_COLOR_MAP 24 FONT_NAME 63
+RGB_BEST_MAP 25 FAMILY_NAME 64
+RGB_BLUE_MAP 26 FULL_NAME 65
+RGB_DEFAULT_MAP 27 CAP_HEIGHT 66
+RGB_GRAY_MAP 28 WM_CLASS 67
+RGB_GREEN_MAP 29 WM_TRANSIENT_FOR 68
+RGB_RED_MAP 30
+STRING 31
+VISUALID 32
+WINDOW 33
+WM_COMMAND 34
+WM_HINTS 35
+WM_CLIENT_MACHINE 36
+WM_ICON_NAME 37
+WM_ICON_SIZE 38
+WM_NAME 39
+.De
+.ps 11
+.nr PS 11
+.SH
+Connection Setup
+.LP
+For TCP connections,
+displays on a given host are numbered starting from 0,
+and the server for display N listens and accepts connections on port 6000 + N.
+For DECnet connections,
+displays on a given host are numbered starting from 0,
+and the server for display N listens and accepts connections on the object
+name obtained by concatenating ``X$X'' with the decimal representation of N,
+for example, X$X0 and X$X1.
+.LP
+Information sent by the client at connection setup:
+.LP
+.ps 9
+.nr PS 9
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+ 1 byte-order
+ #x42 MSB first
+ #x6C LSB first
+ 1 unused
+ 2 CARD16 protocol-major-version
+ 2 CARD16 protocol-minor-version
+ 2 n length of authorization-protocol-name
+ 2 d length of authorization-protocol-data
+ 2 unused
+ n STRING8 authorization-protocol-name
+ p unused, p=pad(n)
+ d STRING8 authorization-protocol-data
+ q unused, q=pad(d)
+.De
+.ps 11
+.nr PS 11
+.LP
+Except where explicitly noted in the protocol,
+all 16-bit and 32-bit quantities sent by the client must be transmitted
+with the specified byte order,
+and all 16-bit and 32-bit quantities returned by the server will be transmitted
+with this byte order.
+.LP
+Information received by the client if the connection is refused:
+.LP
+.ps 9
+.nr PS 9
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+ 1 0 Failed
+ 1 n length of reason in bytes
+ 2 CARD16 protocol-major-version
+ 2 CARD16 protocol-minor-version
+ 2 (n+p)/4 length in 4-byte units of ``additional data''
+ n STRING8 reason
+ p unused, p=pad(n)
+.De
+.ps 11
+.nr PS 11
+.LP
+Information received by the client if further authentication is required:
+.LP
+.ps 9
+.nr PS 9
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+ 1 2 Authenticate
+ 5 unused
+ 2 (n+p)/4 length in 4-byte units of ``additional data''
+ n STRING8 reason
+ p unused, p=pad(n)
+.De
+.ps 11
+.nr PS 11
+.LP
+Information received by the client if the connection is accepted:
+.LP
+.ps 9
+.nr PS 9
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+ 1 1 Success
+ 1 unused
+ 2 CARD16 protocol-major-version
+ 2 CARD16 protocol-minor-version
+ 2 8+2n+(v+p+m)/4 length in 4-byte units of ``additional data''
+ 4 CARD32 release-number
+ 4 CARD32 resource-id-base
+ 4 CARD32 resource-id-mask
+ 4 CARD32 motion-buffer-size
+ 2 v length of vendor
+ 2 CARD16 maximum-request-length
+ 1 CARD8 number of SCREENs in roots
+ 1 n number for FORMATs in pixmap-formats
+ 1 image-byte-order
+ 0 LSBFirst
+ 1 MSBFirst
+ 1 bitmap-format-bit-order
+ 0 LeastSignificant
+ 1 MostSignificant
+ 1 CARD8 bitmap-format-scanline-unit
+ 1 CARD8 bitmap-format-scanline-pad
+ 1 KEYCODE min-keycode
+ 1 KEYCODE max-keycode
+ 4 unused
+ v STRING8 vendor
+ p unused, p=pad(v)
+ 8n LISTofFORMAT pixmap-formats
+ m LISTofSCREEN roots (m is always a multiple of 4)
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+FORMAT
+ 1 CARD8 depth
+ 1 CARD8 bits-per-pixel
+ 1 CARD8 scanline-pad
+ 5 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+SCREEN
+ 4 WINDOW root
+ 4 COLORMAP default-colormap
+ 4 CARD32 white-pixel
+ 4 CARD32 black-pixel
+ 4 SETofEVENT current-input-masks
+ 2 CARD16 width-in-pixels
+ 2 CARD16 height-in-pixels
+ 2 CARD16 width-in-millimeters
+ 2 CARD16 height-in-millimeters
+ 2 CARD16 min-installed-maps
+ 2 CARD16 max-installed-maps
+ 4 VISUALID root-visual
+ 1 backing-stores
+ 0 Never
+ 1 WhenMapped
+ 2 Always
+ 1 BOOL save-unders
+ 1 CARD8 root-depth
+ 1 CARD8 number of DEPTHs in allowed-depths
+ n LISTofDEPTH allowed-depths (n is always a multiple of 4)
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+DEPTH
+ 1 CARD8 depth
+ 1 unused
+ 2 n number of VISUALTYPES in visuals
+ 4 unused
+ 24n LISTofVISUALTYPE visuals
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+VISUALTYPE
+ 4 VISUALID visual-id
+ 1 class
+ 0 StaticGray
+ 1 GrayScale
+ 2 StaticColor
+ 3 PseudoColor
+ 4 TrueColor
+ 5 DirectColor
+ 1 CARD8 bits-per-rgb-value
+ 2 CARD16 colormap-entries
+ 4 CARD32 red-mask
+ 4 CARD32 green-mask
+ 4 CARD32 blue-mask
+ 4 unused
+.De
+.ps 11
+.nr PS 11
+.SH
+Requests
+.LP
+.ps 9
+.nr PS 9
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN CreateWindow
+ 1 1 opcode
+ 1 CARD8 depth
+ 2 8+n request length
+ 4 WINDOW wid
+ 4 WINDOW parent
+ 2 INT16 x
+ 2 INT16 y
+ 2 CARD16 width
+ 2 CARD16 height
+ 2 CARD16 border-width
+ 2 class
+ 0 CopyFromParent
+ 1 InputOutput
+ 2 InputOnly
+ 4 VISUALID visual
+ 0 CopyFromParent
+ 4 BITMASK value-mask (has n bits set to 1)
+ #x00000001 background-pixmap
+ #x00000002 background-pixel
+ #x00000004 border-pixmap
+ #x00000008 border-pixel
+ #x00000010 bit-gravity
+ #x00000020 win-gravity
+ #x00000040 backing-store
+ #x00000080 backing-planes
+ #x00000100 backing-pixel
+ #x00000200 override-redirect
+ #x00000400 save-under
+ #x00000800 event-mask
+ #x00001000 do-not-propagate-mask
+ #x00002000 colormap
+ #x00004000 cursor
+ 4n LISTofVALUE value-list
+.De
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+ VALUEs
+ 4 PIXMAP background-pixmap
+ 0 None
+ 1 ParentRelative
+ 4 CARD32 background-pixel
+ 4 PIXMAP border-pixmap
+ 0 CopyFromParent
+ 4 CARD32 border-pixel
+ 1 BITGRAVITY bit-gravity
+ 1 WINGRAVITY win-gravity
+ 1 backing-store
+ 0 NotUseful
+ 1 WhenMapped
+ 2 Always
+ 4 CARD32 backing-planes
+ 4 CARD32 backing-pixel
+ 1 BOOL override-redirect
+ 1 BOOL save-under
+ 4 SETofEVENT event-mask
+ 4 SETofDEVICEEVENT do-not-propagate-mask
+ 4 COLORMAP colormap
+ 0 CopyFromParent
+ 4 CURSOR cursor
+ 0 None
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN ChangeWindowAttributes
+ 1 2 opcode
+ 1 unused
+ 2 3+n request length
+ 4 WINDOW window
+ 4 BITMASK value-mask (has n bits set to 1)
+ encodings are the same as for CreateWindow
+ 4n LISTofVALUE value-list
+ encodings are the same as for CreateWindow
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN GetWindowAttributes
+ 1 3 opcode
+ 1 unused
+ 2 2 request length
+ 4 WINDOW window
+.De
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+ \(->
+ 1 1 Reply
+ 1 backing-store
+ 0 NotUseful
+ 1 WhenMapped
+ 2 Always
+ 2 CARD16 sequence number
+ 4 3 reply length
+ 4 VISUALID visual
+ 2 class
+ 1 InputOutput
+ 2 InputOnly
+ 1 BITGRAVITY bit-gravity
+ 1 WINGRAVITY win-gravity
+ 4 CARD32 backing-planes
+ 4 CARD32 backing-pixel
+ 1 BOOL save-under
+ 1 BOOL map-is-installed
+ 1 map-state
+ 0 Unmapped
+ 1 Unviewable
+ 2 Viewable
+ 1 BOOL override-redirect
+ 4 COLORMAP colormap
+ 0 None
+ 4 SETofEVENT all-event-masks
+ 4 SETofEVENT your-event-mask
+ 2 SETofDEVICEEVENT do-not-propagate-mask
+ 2 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN DestroyWindow
+ 1 4 opcode
+ 1 unused
+ 2 2 request length
+ 4 WINDOW window
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN DestroySubwindows
+ 1 5 opcode
+ 1 unused
+ 2 2 request length
+ 4 WINDOW window
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN ChangeSaveSet
+ 1 6 opcode
+ 1 mode
+ 0 Insert
+ 1 Delete
+ 2 2 request length
+ 4 WINDOW window
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN ReparentWindow
+ 1 7 opcode
+ 1 unused
+ 2 4 request length
+ 4 WINDOW window
+ 4 WINDOW parent
+ 2 INT16 x
+ 2 INT16 y
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN MapWindow
+ 1 8 opcode
+ 1 unused
+ 2 2 request length
+ 4 WINDOW window
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN MapSubwindows
+ 1 9 opcode
+ 1 unused
+ 2 2 request length
+ 4 WINDOW window
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN UnmapWindow
+ 1 10 opcode
+ 1 unused
+ 2 2 request length
+ 4 WINDOW window
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN UnmapSubwindows
+ 1 11 opcode
+ 1 unused
+ 2 2 request length
+ 4 WINDOW window
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN ConfigureWindow
+ 1 12 opcode
+ 1 unused
+ 2 3+n request length
+ 4 WINDOW window
+ 2 BITMASK value-mask (has n bits set to 1)
+ #x0001 x
+ #x0002 y
+ #x0004 width
+ #x0008 height
+ #x0010 border-width
+ #x0020 sibling
+ #x0040 stack-mode
+ 2 unused
+ 4n LISTofVALUE value-list
+.De
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+ VALUEs
+ 2 INT16 x
+ 2 INT16 y
+ 2 CARD16 width
+ 2 CARD16 height
+ 2 CARD16 border-width
+ 4 WINDOW sibling
+ 1 stack-mode
+ 0 Above
+ 1 Below
+ 2 TopIf
+ 3 BottomIf
+ 4 Opposite
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN CirculateWindow
+ 1 13 opcode
+ 1 direction
+ 0 RaiseLowest
+ 1 LowerHighest
+ 2 2 request length
+ 4 WINDOW window
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN GetGeometry
+ 1 14 opcode
+ 1 unused
+ 2 2 request length
+ 4 DRAWABLE drawable
+.De
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+ \(->
+ 1 1 Reply
+ 1 CARD8 depth
+ 2 CARD16 sequence number
+ 4 0 reply length
+ 4 WINDOW root
+ 2 INT16 x
+ 2 INT16 y
+ 2 CARD16 width
+ 2 CARD16 height
+ 2 CARD16 border-width
+ 10 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN QueryTree
+ 1 15 opcode
+ 1 unused
+ 2 2 request length
+ 4 WINDOW window
+.De
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+ \(->
+ 1 1 Reply
+ 1 unused
+ 2 CARD16 sequence number
+ 4 n reply length
+ 4 WINDOW root
+ 4 WINDOW parent
+ 0 None
+ 2 n number of WINDOWs in children
+ 14 unused
+ 4n LISTofWINDOW children
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN InternAtom
+ 1 16 opcode
+ 1 BOOL only-if-exists
+ 2 2+(n+p)/4 request length
+ 2 n length of name
+ 2 unused
+ n STRING8 name
+ p unused, p=pad(n)
+.De
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+ \(->
+ 1 1 Reply
+ 1 unused
+ 2 CARD16 sequence number
+ 4 0 reply length
+ 4 ATOM atom
+ 0 None
+ 20 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN GetAtomName
+ 1 17 opcode
+ 1 unused
+ 2 2 request length
+ 4 ATOM atom
+.De
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+ \(->
+ 1 1 Reply
+ 1 unused
+ 2 CARD16 sequence number
+ 4 (n+p)/4 reply length
+ 2 n length of name
+ 22 unused
+ n STRING8 name
+ p unused, p=pad(n)
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN ChangeProperty
+ 1 18 opcode
+ 1 mode
+ 0 Replace
+ 1 Prepend
+ 2 Append
+ 2 6+(n+p)/4 request length
+ 4 WINDOW window
+ 4 ATOM property
+ 4 ATOM type
+ 1 CARD8 format
+ 3 unused
+ 4 CARD32 length of data in format units
+ (= n for format = 8)
+ (= n/2 for format = 16)
+ (= n/4 for format = 32)
+ n LISTofBYTE data
+ (n is a multiple of 2 for format = 16)
+ (n is a multiple of 4 for format = 32)
+ p unused, p=pad(n)
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN DeleteProperty
+ 1 19 opcode
+ 1 unused
+ 2 3 request length
+ 4 WINDOW window
+ 4 ATOM property
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN GetProperty
+ 1 20 opcode
+ 1 BOOL delete
+ 2 6 request length
+ 4 WINDOW window
+ 4 ATOM property
+ 4 ATOM type
+ 0 AnyPropertyType
+ 4 CARD32 long-offset
+ 4 CARD32 long-length
+.De
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+ \(->
+ 1 1 Reply
+ 1 CARD8 format
+ 2 CARD16 sequence number
+ 4 (n+p)/4 reply length
+ 4 ATOM type
+ 0 None
+ 4 CARD32 bytes-after
+ 4 CARD32 length of value in format units
+ (= 0 for format = 0)
+ (= n for format = 8)
+ (= n/2 for format = 16)
+ (= n/4 for format = 32)
+ 12 unused
+ n LISTofBYTE value
+ (n is zero for format = 0)
+ (n is a multiple of 2 for format = 16)
+ (n is a multiple of 4 for format = 32)
+ p unused, p=pad(n)
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN ListProperties
+ 1 21 opcode
+ 1 unused
+ 2 2 request length
+ 4 WINDOW window
+.De
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+ \(->
+ 1 1 Reply
+ 1 unused
+ 2 CARD16 sequence number
+ 4 n reply length
+ 2 n number of ATOMs in atoms
+ 22 unused
+ 4n LISTofATOM atoms
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN SetSelectionOwner
+ 1 22 opcode
+ 1 unused
+ 2 4 request length
+ 4 WINDOW owner
+ 0 None
+ 4 ATOM selection
+ 4 TIMESTAMP time
+ 0 CurrentTime
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN GetSelectionOwner
+ 1 23 opcode
+ 1 unused
+ 2 2 request length
+ 4 ATOM selection
+.De
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+ \(->
+ 1 1 Reply
+ 1 unused
+ 2 CARD16 sequence number
+ 4 0 reply length
+ 4 WINDOW owner
+ 0 None
+ 20 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN ConvertSelection
+ 1 24 opcode
+ 1 unused
+ 2 6 request length
+ 4 WINDOW requestor
+ 4 ATOM selection
+ 4 ATOM target
+ 4 ATOM property
+ 0 None
+ 4 TIMESTAMP time
+ 0 CurrentTime
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN SendEvent
+ 1 25 opcode
+ 1 BOOL propagate
+ 2 11 request length
+ 4 WINDOW destination
+ 0 PointerWindow
+ 1 InputFocus
+ 4 SETofEVENT event-mask
+ 32 event
+ standard event format (see the Events section)
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN GrabPointer
+ 1 26 opcode
+ 1 BOOL owner-events
+ 2 6 request length
+ 4 WINDOW grab-window
+ 2 SETofPOINTEREVENT event-mask
+ 1 pointer-mode
+ 0 Synchronous
+ 1 Asynchronous
+ 1 keyboard-mode
+ 0 Synchronous
+ 1 Asynchronous
+ 4 WINDOW confine-to
+ 0 None
+ 4 CURSOR cursor
+ 0 None
+ 4 TIMESTAMP time
+ 0 CurrentTime
+.De
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+ \(->
+ 1 1 Reply
+ 1 status
+ 0 Success
+ 1 AlreadyGrabbed
+ 2 InvalidTime
+ 3 NotViewable
+ 4 Frozen
+ 2 CARD16 sequence number
+ 4 0 reply length
+ 24 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN UngrabPointer
+ 1 27 opcode
+ 1 unused
+ 2 2 request length
+ 4 TIMESTAMP time
+ 0 CurrentTime
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN GrabButton
+ 1 28 opcode
+ 1 BOOL owner-events
+ 2 6 request length
+ 4 WINDOW grab-window
+ 2 SETofPOINTEREVENT event-mask
+ 1 pointer-mode
+ 0 Synchronous
+ 1 Asynchronous
+ 1 keyboard-mode
+ 0 Synchronous
+ 1 Asynchronous
+ 4 WINDOW confine-to
+ 0 None
+ 4 CURSOR cursor
+ 0 None
+ 1 BUTTON button
+ 0 AnyButton
+ 1 unused
+ 2 SETofKEYMASK modifiers
+ #x8000 AnyModifier
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN UngrabButton
+ 1 29 opcode
+ 1 BUTTON button
+ 0 AnyButton
+ 2 3 request length
+ 4 WINDOW grab-window
+ 2 SETofKEYMASK modifiers
+ #x8000 AnyModifier
+ 2 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN ChangeActivePointerGrab
+ 1 30 opcode
+ 1 unused
+ 2 4 request length
+ 4 CURSOR cursor
+ 0 None
+ 4 TIMESTAMP time
+ 0 CurrentTime
+ 2 SETofPOINTEREVENT event-mask
+ 2 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN GrabKeyboard
+ 1 31 opcode
+ 1 BOOL owner-events
+ 2 4 request length
+ 4 WINDOW grab-window
+ 4 TIMESTAMP time
+ 0 CurrentTime
+ 1 pointer-mode
+ 0 Synchronous
+ 1 Asynchronous
+ 1 keyboard-mode
+ 0 Synchronous
+ 1 Asynchronous
+ 2 unused
+.De
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+ \(->
+ 1 1 Reply
+ 1 status
+ 0 Success
+ 1 AlreadyGrabbed
+ 2 InvalidTime
+ 3 NotViewable
+ 4 Frozen
+ 2 CARD16 sequence number
+ 4 0 reply length
+ 24 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN UngrabKeyboard
+ 1 32 opcode
+ 1 unused
+ 2 2 request length
+ 4 TIMESTAMP time
+ 0 CurrentTime
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.PN GrabKey
+ 1 33 opcode
+ 1 BOOL owner-events
+ 2 4 request length
+ 4 WINDOW grab-window
+ 2 SETofKEYMASK modifiers
+ #x8000 AnyModifier
+ 1 KEYCODE key
+ 0 AnyKey
+ 1 pointer-mode
+ 0 Synchronous
+ 1 Asynchronous
+ 1 keyboard-mode
+ 0 Synchronous
+ 1 Asynchronous
+ 3 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN UngrabKey
+ 1 34 opcode
+ 1 KEYCODE key
+ 0 AnyKey
+ 2 3 request length
+ 4 WINDOW grab-window
+ 2 SETofKEYMASK modifiers
+ #x8000 AnyModifier
+ 2 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN AllowEvents
+ 1 35 opcode
+ 1 mode
+ 0 AsyncPointer
+ 1 SyncPointer
+ 2 ReplayPointer
+ 3 AsyncKeyboard
+ 4 SyncKeyboard
+ 5 ReplayKeyboard
+ 6 AsyncBoth
+ 7 SyncBoth
+ 2 2 request length
+ 4 TIMESTAMP time
+ 0 CurrentTime
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN GrabServer
+ 1 36 opcode
+ 1 unused
+ 2 1 request length
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN UngrabServer
+ 1 37 opcode
+ 1 unused
+ 2 1 request length
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN QueryPointer
+ 1 38 opcode
+ 1 unused
+ 2 2 request length
+ 4 WINDOW window
+.De
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+ \(->
+ 1 1 Reply
+ 1 BOOL same-screen
+ 2 CARD16 sequence number
+ 4 0 reply length
+ 4 WINDOW root
+ 4 WINDOW child
+ 0 None
+ 2 INT16 root-x
+ 2 INT16 root-y
+ 2 INT16 win-x
+ 2 INT16 win-y
+ 2 SETofKEYBUTMASK mask
+ 6 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN GetMotionEvents
+ 1 39 opcode
+ 1 unused
+ 2 4 request length
+ 4 WINDOW window
+ 4 TIMESTAMP start
+ 0 CurrentTime
+ 4 TIMESTAMP stop
+ 0 CurrentTime
+.De
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+ \(->
+ 1 1 Reply
+ 1 unused
+ 2 CARD16 sequence number
+ 4 2n reply length
+ 4 n number of TIMECOORDs in events
+ 20 unused
+ 8n LISTofTIMECOORD events
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+ TIMECOORD
+ 4 TIMESTAMP time
+ 2 INT16 x
+ 2 INT16 y
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN TranslateCoordinates
+ 1 40 opcode
+ 1 unused
+ 2 4 request length
+ 4 WINDOW src-window
+ 4 WINDOW dst-window
+ 2 INT16 src-x
+ 2 INT16 src-y
+.De
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+ \(->
+ 1 1 Reply
+ 1 BOOL same-screen
+ 2 CARD16 sequence number
+ 4 0 reply length
+ 4 WINDOW child
+ 0 None
+ 2 INT16 dst-x
+ 2 INT16 dst-y
+ 16 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN WarpPointer
+ 1 41 opcode
+ 1 unused
+ 2 6 request length
+ 4 WINDOW src-window
+ 0 None
+ 4 WINDOW dst-window
+ 0 None
+ 2 INT16 src-x
+ 2 INT16 src-y
+ 2 CARD16 src-width
+ 2 CARD16 src-height
+ 2 INT16 dst-x
+ 2 INT16 dst-y
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN SetInputFocus
+ 1 42 opcode
+ 1 revert-to
+ 0 None
+ 1 PointerRoot
+ 2 Parent
+ 2 3 request length
+ 4 WINDOW focus
+ 0 None
+ 1 PointerRoot
+ 4 TIMESTAMP time
+ 0 CurrentTime
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN GetInputFocus
+ 1 43 opcode
+ 1 unused
+ 2 1 request length
+.De
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+ \(->
+ 1 1 Reply
+ 1 revert-to
+ 0 None
+ 1 PointerRoot
+ 2 Parent
+ 2 CARD16 sequence number
+ 4 0 reply length
+ 4 WINDOW focus
+ 0 None
+ 1 PointerRoot
+ 20 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN QueryKeymap
+ 1 44 opcode
+ 1 unused
+ 2 1 request length
+.De
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+ \(->
+ 1 1 Reply
+ 1 unused
+ 2 CARD16 sequence number
+ 4 2 reply length
+ 32 LISTofCARD8 keys
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN OpenFont
+ 1 45 opcode
+ 1 unused
+ 2 3+(n+p)/4 request length
+ 4 FONT fid
+ 2 n length of name
+ 2 unused
+ n STRING8 name
+ p unused, p=pad(n)
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN CloseFont
+ 1 46 opcode
+ 1 unused
+ 2 2 request length
+ 4 FONT font
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN QueryFont
+ 1 47 opcode
+ 1 unused
+ 2 2 request length
+ 4 FONTABLE font
+.De
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+ \(->
+ 1 1 Reply
+ 1 unused
+ 2 CARD16 sequence number
+ 4 7+2n+3m reply length
+ 12 CHARINFO min-bounds
+ 4 unused
+ 12 CHARINFO max-bounds
+ 4 unused
+ 2 CARD16 min-char-or-byte2
+ 2 CARD16 max-char-or-byte2
+ 2 CARD16 default-char
+ 2 n number of FONTPROPs in properties
+ 1 draw-direction
+ 0 LeftToRight
+ 1 RightToLeft
+ 1 CARD8 min-byte1
+ 1 CARD8 max-byte1
+ 1 BOOL all-chars-exist
+ 2 INT16 font-ascent
+ 2 INT16 font-descent
+ 4 m number of CHARINFOs in char-infos
+ 8n LISTofFONTPROP properties
+ 12m LISTofCHARINFO char-infos
+.De
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+ FONTPROP
+ 4 ATOM name
+ 4 <32-bits> value
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+ CHARINFO
+ 2 INT16 left-side-bearing
+ 2 INT16 right-side-bearing
+ 2 INT16 character-width
+ 2 INT16 ascent
+ 2 INT16 descent
+ 2 CARD16 attributes
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN QueryTextExtents
+ 1 48 opcode
+ 1 BOOL odd length, True if p = 2
+ 2 2+(2n+p)/4 request length
+ 4 FONTABLE font
+ 2n STRING16 string
+ p unused, p=pad(2n)
+.De
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+ \(->
+ 1 1 Reply
+ 1 draw-direction
+ 0 LeftToRight
+ 1 RightToLeft
+ 2 CARD16 sequence number
+ 4 0 reply length
+ 2 INT16 font-ascent
+ 2 INT16 font-descent
+ 2 INT16 overall-ascent
+ 2 INT16 overall-descent
+ 4 INT32 overall-width
+ 4 INT32 overall-left
+ 4 INT32 overall-right
+ 4 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN ListFonts
+ 1 49 opcode
+ 1 unused
+ 2 2+(n+p)/4 request length
+ 2 CARD16 max-names
+ 2 n length of pattern
+ n STRING8 pattern
+ p unused, p=pad(n)
+.De
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+ \(->
+ 1 1 Reply
+ 1 unused
+ 2 CARD16 sequence number
+ 4 (n+p)/4 reply length
+ 2 CARD16 number of STRs in names
+ 22 unused
+ n LISTofSTR names
+ p unused, p=pad(n)
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN ListFontsWithInfo
+ 1 50 opcode
+ 1 unused
+ 2 2+(n+p)/4 request length
+ 2 CARD16 max-names
+ 2 n length of pattern
+ n STRING8 pattern
+ p unused, p=pad(n)
+.De
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+ \(-> (except for last in series)
+ 1 1 Reply
+ 1 n length of name in bytes
+ 2 CARD16 sequence number
+ 4 7+2m+(n+p)/4 reply length
+ 12 CHARINFO min-bounds
+ 4 unused
+ 12 CHARINFO max-bounds
+ 4 unused
+ 2 CARD16 min-char-or-byte2
+ 2 CARD16 max-char-or-byte2
+ 2 CARD16 default-char
+ 2 m number of FONTPROPs in properties
+ 1 draw-direction
+ 0 LeftToRight
+ 1 RightToLeft
+ 1 CARD8 min-byte1
+ 1 CARD8 max-byte1
+ 1 BOOL all-chars-exist
+ 2 INT16 font-ascent
+ 2 INT16 font-descent
+ 4 CARD32 replies-hint
+ 8m LISTofFONTPROP properties
+ n STRING8 name
+ p unused, p=pad(n)
+.De
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+ FONTPROP
+ encodings are the same as for QueryFont
+
+ CHARINFO
+ encodings are the same as for QueryFont
+.De
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+ \(-> (last in series)
+ 1 1 Reply
+ 1 0 last-reply indicator
+ 2 CARD16 sequence number
+ 4 7 reply length
+ 52 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN SetFontPath
+ 1 51 opcode
+ 1 unused
+ 2 2+(n+p)/4 request length
+ 2 CARD16 number of STRs in path
+ 2 unused
+ n LISTofSTR path
+ p unused, p=pad(n)
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN GetFontPath
+ 1 52 opcode
+ 1 unused
+ 2 1 request list
+.De
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+ \(->
+ 1 1 Reply
+ 1 unused
+ 2 CARD16 sequence number
+ 4 (n+p)/4 reply length
+ 2 CARD16 number of STRs in path
+ 22 unused
+ n LISTofSTR path
+ p unused, p=pad(n)
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN CreatePixmap
+ 1 53 opcode
+ 1 CARD8 depth
+ 2 4 request length
+ 4 PIXMAP pid
+ 4 DRAWABLE drawable
+ 2 CARD16 width
+ 2 CARD16 height
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN FreePixmap
+ 1 54 opcode
+ 1 unused
+ 2 2 request length
+ 4 PIXMAP pixmap
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN CreateGC
+ 1 55 opcode
+ 1 unused
+ 2 4+n request length
+ 4 GCONTEXT cid
+ 4 DRAWABLE drawable
+ 4 BITMASK value-mask (has n bits set to 1)
+ #x00000001 function
+ #x00000002 plane-mask
+ #x00000004 foreground
+ #x00000008 background
+ #x00000010 line-width
+ #x00000020 line-style
+ #x00000040 cap-style
+ #x00000080 join-style
+ #x00000100 fill-style
+ #x00000200 fill-rule
+ #x00000400 tile
+ #x00000800 stipple
+ #x00001000 tile-stipple-x-origin
+ #x00002000 tile-stipple-y-origin
+ #x00004000 font
+ #x00008000 subwindow-mode
+ #x00010000 graphics-exposures
+ #x00020000 clip-x-origin
+ #x00040000 clip-y-origin
+ #x00080000 clip-mask
+ #x00100000 dash-offset
+ #x00200000 dashes
+ #x00400000 arc-mode
+ 4n LISTofVALUE value-list
+.De
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+ VALUEs
+ 1 function
+ 0 Clear
+ 1 And
+ 2 AndReverse
+ 3 Copy
+ 4 AndInverted
+ 5 NoOp
+ 6 Xor
+ 7 Or
+ 8 Nor
+ 9 Equiv
+ 10 Invert
+ 11 OrReverse
+ 12 CopyInverted
+ 13 OrInverted
+ 14 Nand
+ 15 Set
+ 4 CARD32 plane-mask
+ 4 CARD32 foreground
+ 4 CARD32 background
+ 2 CARD16 line-width
+ 1 line-style
+ 0 Solid
+ 1 OnOffDash
+ 2 DoubleDash
+ 1 cap-style
+ 0 NotLast
+ 1 Butt
+ 2 Round
+ 3 Projecting
+ 1 join-style
+ 0 Miter
+ 1 Round
+ 2 Bevel
+ 1 fill-style
+ 0 Solid
+ 1 Tiled
+ 2 Stippled
+ 3 OpaqueStippled
+ 1 fill-rule
+ 0 EvenOdd
+ 1 Winding
+ 4 PIXMAP tile
+ 4 PIXMAP stipple
+ 2 INT16 tile-stipple-x-origin
+ 2 INT16 tile-stipple-y-origin
+ 4 FONT font
+ 1 subwindow-mode
+ 0 ClipByChildren
+ 1 IncludeInferiors
+ 1 BOOL graphics-exposures
+ 2 INT16 clip-x-origin
+ 2 INT16 clip-y-origin
+ 4 PIXMAP clip-mask
+ 0 None
+ 2 CARD16 dash-offset
+ 1 CARD8 dashes
+ 1 arc-mode
+ 0 Chord
+ 1 PieSlice
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN ChangeGC
+ 1 56 opcode
+ 1 unused
+ 2 3+n request length
+ 4 GCONTEXT gc
+ 4 BITMASK value-mask (has n bits set to 1)
+ encodings are the same as for CreateGC
+ 4n LISTofVALUE value-list
+ encodings are the same as for CreateGC
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN CopyGC
+ 1 57 opcode
+ 1 unused
+ 2 4 request length
+ 4 GCONTEXT src-gc
+ 4 GCONTEXT dst-gc
+ 4 BITMASK value-mask
+ encodings are the same as for CreateGC
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN SetDashes
+ 1 58 opcode
+ 1 unused
+ 2 3+(n+p)/4 request length
+ 4 GCONTEXT gc
+ 2 CARD16 dash-offset
+ 2 n length of dashes
+ n LISTofCARD8 dashes
+ p unused, p=pad(n)
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN SetClipRectangles
+ 1 59 opcode
+ 1 ordering
+ 0 UnSorted
+ 1 YSorted
+ 2 YXSorted
+ 3 YXBanded
+ 2 3+2n request length
+ 4 GCONTEXT gc
+ 2 INT16 clip-x-origin
+ 2 INT16 clip-y-origin
+ 8n LISTofRECTANGLE rectangles
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN FreeGC
+ 1 60 opcode
+ 1 unused
+ 2 2 request length
+ 4 GCONTEXT gc
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN ClearArea
+ 1 61 opcode
+ 1 BOOL exposures
+ 2 4 request length
+ 4 WINDOW window
+ 2 INT16 x
+ 2 INT16 y
+ 2 CARD16 width
+ 2 CARD16 height
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN CopyArea
+ 1 62 opcode
+ 1 unused
+ 2 7 request length
+ 4 DRAWABLE src-drawable
+ 4 DRAWABLE dst-drawable
+ 4 GCONTEXT gc
+ 2 INT16 src-x
+ 2 INT16 src-y
+ 2 INT16 dst-x
+ 2 INT16 dst-y
+ 2 CARD16 width
+ 2 CARD16 height
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN CopyPlane
+ 1 63 opcode
+ 1 unused
+ 2 8 request length
+ 4 DRAWABLE src-drawable
+ 4 DRAWABLE dst-drawable
+ 4 GCONTEXT gc
+ 2 INT16 src-x
+ 2 INT16 src-y
+ 2 INT16 dst-x
+ 2 INT16 dst-y
+ 2 CARD16 width
+ 2 CARD16 height
+ 4 CARD32 bit-plane
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN PolyPoint
+ 1 64 opcode
+ 1 coordinate-mode
+ 0 Origin
+ 1 Previous
+ 2 3+n request length
+ 4 DRAWABLE drawable
+ 4 GCONTEXT gc
+ 4n LISTofPOINT points
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN PolyLine
+ 1 65 opcode
+ 1 coordinate-mode
+ 0 Origin
+ 1 Previous
+ 2 3+n request length
+ 4 DRAWABLE drawable
+ 4 GCONTEXT gc
+ 4n LISTofPOINT points
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN PolySegment
+ 1 66 opcode
+ 1 unused
+ 2 3+2n request length
+ 4 DRAWABLE drawable
+ 4 GCONTEXT gc
+ 8n LISTofSEGMENT segments
+.De
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+ SEGMENT
+ 2 INT16 x1
+ 2 INT16 y1
+ 2 INT16 x2
+ 2 INT16 y2
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN PolyRectangle
+ 1 67 opcode
+ 1 unused
+ 2 3+2n request length
+ 4 DRAWABLE drawable
+ 4 GCONTEXT gc
+ 8n LISTofRECTANGLE rectangles
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN PolyArc
+ 1 68 opcode
+ 1 unused
+ 2 3+3n request length
+ 4 DRAWABLE drawable
+ 4 GCONTEXT gc
+ 12n LISTofARC arcs
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN FillPoly
+ 1 69 opcode
+ 1 unused
+ 2 4+n request length
+ 4 DRAWABLE drawable
+ 4 GCONTEXT gc
+ 1 shape
+ 0 Complex
+ 1 Nonconvex
+ 2 Convex
+ 1 coordinate-mode
+ 0 Origin
+ 1 Previous
+ 2 unused
+ 4n LISTofPOINT points
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN PolyFillRectangle
+ 1 70 opcode
+ 1 unused
+ 2 3+2n request length
+ 4 DRAWABLE drawable
+ 4 GCONTEXT gc
+ 8n LISTofRECTANGLE rectangles
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN PolyFillArc
+ 1 71 opcode
+ 1 unused
+ 2 3+3n request length
+ 4 DRAWABLE drawable
+ 4 GCONTEXT gc
+ 12n LISTofARC arcs
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN PutImage
+ 1 72 opcode
+ 1 format
+ 0 Bitmap
+ 1 XYPixmap
+ 2 ZPixmap
+ 2 6+(n+p)/4 request length
+ 4 DRAWABLE drawable
+ 4 GCONTEXT gc
+ 2 CARD16 width
+ 2 CARD16 height
+ 2 INT16 dst-x
+ 2 INT16 dst-y
+ 1 CARD8 left-pad
+ 1 CARD8 depth
+ 2 unused
+ n LISTofBYTE data
+ p unused, p=pad(n)
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN GetImage
+ 1 73 opcode
+ 1 format
+ 1 XYPixmap
+ 2 ZPixmap
+ 2 5 request length
+ 4 DRAWABLE drawable
+ 2 INT16 x
+ 2 INT16 y
+ 2 CARD16 width
+ 2 CARD16 height
+ 4 CARD32 plane-mask
+.De
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+ \(->
+ 1 1 Reply
+ 1 CARD8 depth
+ 2 CARD16 sequence number
+ 4 (n+p)/4 reply length
+ 4 VISUALID visual
+ 0 None
+ 20 unused
+ n LISTofBYTE data
+ p unused, p=pad(n)
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN PolyText8
+ 1 74 opcode
+ 1 unused
+ 2 4+(n+p)/4 request length
+ 4 DRAWABLE drawable
+ 4 GCONTEXT gc
+ 2 INT16 x
+ 2 INT16 y
+ n LISTofTEXTITEM8 items
+ p unused, p=pad(n) (p is always 0 or 1)
+.De
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+ TEXTITEM8
+ 1 m length of string (cannot be 255)
+ 1 INT8 delta
+ m STRING8 string
+ or
+ 1 255 font-shift indicator
+ 1 font byte 3 (most-significant)
+ 1 font byte 2
+ 1 font byte 1
+ 1 font byte 0 (least-significant)
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN PolyText16
+ 1 75 opcode
+ 1 unused
+ 2 4+(n+p)/4 request length
+ 4 DRAWABLE drawable
+ 4 GCONTEXT gc
+ 2 INT16 x
+ 2 INT16 y
+ n LISTofTEXTITEM16 items
+ p unused, p=pad(n) (p must be 0 or 1)
+.De
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+ TEXTITEM16
+ 1 m number of CHAR2Bs in string (cannot be 255)
+ 1 INT8 delta
+ 2m STRING16 string
+ or
+ 1 255 font-shift indicator
+ 1 font byte 3 (most-significant)
+ 1 font byte 2
+ 1 font byte 1
+ 1 font byte 0 (least-significant)
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN ImageText8
+ 1 76 opcode
+ 1 n length of string
+ 2 4+(n+p)/4 request length
+ 4 DRAWABLE drawable
+ 4 GCONTEXT gc
+ 2 INT16 x
+ 2 INT16 y
+ n STRING8 string
+ p unused, p=pad(n)
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN ImageText16
+ 1 77 opcode
+ 1 n number of CHAR2Bs in string
+ 2 4+(2n+p)/4 request length
+ 4 DRAWABLE drawable
+ 4 GCONTEXT gc
+ 2 INT16 x
+ 2 INT16 y
+ 2n STRING16 string
+ p unused, p=pad(2n)
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN CreateColormap
+ 1 78 opcode
+ 1 alloc
+ 0 None
+ 1 All
+ 2 4 request length
+ 4 COLORMAP mid
+ 4 WINDOW window
+ 4 VISUALID visual
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN FreeColormap
+ 1 79 opcode
+ 1 unused
+ 2 2 request length
+ 4 COLORMAP cmap
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN CopyColormapAndFree
+ 1 80 opcode
+ 1 unused
+ 2 3 request length
+ 4 COLORMAP mid
+ 4 COLORMAP src-cmap
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN InstallColormap
+ 1 81 opcode
+ 1 unused
+ 2 2 request length
+ 4 COLORMAP cmap
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN UninstallColormap
+ 1 82 opcode
+ 1 unused
+ 2 2 request length
+ 4 COLORMAP cmap
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN ListInstalledColormaps
+ 1 83 opcode
+ 1 unused
+ 2 2 request length
+ 4 WINDOW window
+.De
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+ \(->
+ 1 1 Reply
+ 1 unused
+ 2 CARD16 sequence number
+ 4 n reply length
+ 2 n number of COLORMAPs in cmaps
+ 22 unused
+ 4n LISTofCOLORMAP cmaps
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN AllocColor
+ 1 84 opcode
+ 1 unused
+ 2 4 request length
+ 4 COLORMAP cmap
+ 2 CARD16 red
+ 2 CARD16 green
+ 2 CARD16 blue
+ 2 unused
+.De
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+ \(->
+ 1 1 Reply
+ 1 unused
+ 2 CARD16 sequence number
+ 4 0 reply length
+ 2 CARD16 red
+ 2 CARD16 green
+ 2 CARD16 blue
+ 2 unused
+ 4 CARD32 pixel
+ 12 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN AllocNamedColor
+ 1 85 opcode
+ 1 unused
+ 2 3+(n+p)/4 request length
+ 4 COLORMAP cmap
+ 2 n length of name
+ 2 unused
+ n STRING8 name
+ p unused, p=pad(n)
+.De
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+ \(->
+ 1 1 Reply
+ 1 unused
+ 2 CARD16 sequence number
+ 4 0 reply length
+ 4 CARD32 pixel
+ 2 CARD16 exact-red
+ 2 CARD16 exact-green
+ 2 CARD16 exact-blue
+ 2 CARD16 visual-red
+ 2 CARD16 visual-green
+ 2 CARD16 visual-blue
+ 8 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN AllocColorCells
+ 1 86 opcode
+ 1 BOOL contiguous
+ 2 3 request length
+ 4 COLORMAP cmap
+ 2 CARD16 colors
+ 2 CARD16 planes
+.De
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+ \(->
+ 1 1 Reply
+ 1 unused
+ 2 CARD16 sequence number
+ 4 n+m reply length
+ 2 n number of CARD32s in pixels
+ 2 m number of CARD32s in masks
+ 20 unused
+ 4n LISTofCARD32 pixels
+ 4m LISTofCARD32 masks
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN AllocColorPlanes
+ 1 87 opcode
+ 1 BOOL contiguous
+ 2 4 request length
+ 4 COLORMAP cmap
+ 2 CARD16 colors
+ 2 CARD16 reds
+ 2 CARD16 greens
+ 2 CARD16 blues
+.De
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+ \(->
+ 1 1 Reply
+ 1 unused
+ 2 CARD16 sequence number
+ 4 n reply length
+ 2 n number of CARD32s in pixels
+ 2 unused
+ 4 CARD32 red-mask
+ 4 CARD32 green-mask
+ 4 CARD32 blue-mask
+ 8 unused
+ 4n LISTofCARD32 pixels
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN FreeColors
+ 1 88 opcode
+ 1 unused
+ 2 3+n request length
+ 4 COLORMAP cmap
+ 4 CARD32 plane-mask
+ 4n LISTofCARD32 pixels
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN StoreColors
+ 1 89 opcode
+ 1 unused
+ 2 2+3n request length
+ 4 COLORMAP cmap
+ 12n LISTofCOLORITEM items
+.De
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+ COLORITEM
+ 4 CARD32 pixel
+ 2 CARD16 red
+ 2 CARD16 green
+ 2 CARD16 blue
+ 1 do-red, do-green, do-blue
+ #x01 do-red (1 is True, 0 is False)
+ #x02 do-green (1 is True, 0 is False)
+ #x04 do-blue (1 is True, 0 is False)
+ #xF8 unused
+ 1 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN StoreNamedColor
+ 1 90 opcode
+ 1 do-red, do-green, do-blue
+ #x01 do-red (1 is True, 0 is False)
+ #x02 do-green (1 is True, 0 is False)
+ #x04 do-blue (1 is True, 0 is False)
+ #xF8 unused
+ 2 4+(n+p)/4 request length
+ 4 COLORMAP cmap
+ 4 CARD32 pixel
+ 2 n length of name
+ 2 unused
+ n STRING8 name
+ p unused, p=pad(n)
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN QueryColors
+ 1 91 opcode
+ 1 unused
+ 2 2+n request length
+ 4 COLORMAP cmap
+ 4n LISTofCARD32 pixels
+.De
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+ \(->
+ 1 1 Reply
+ 1 unused
+ 2 CARD16 sequence number
+ 4 2n reply length
+ 2 n number of RGBs in colors
+ 22 unused
+ 8n LISTofRGB colors
+.De
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+ RGB
+ 2 CARD16 red
+ 2 CARD16 green
+ 2 CARD16 blue
+ 2 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN LookupColor
+ 1 92 opcode
+ 1 unused
+ 2 3+(n+p)/4 request length
+ 4 COLORMAP cmap
+ 2 n length of name
+ 2 unused
+ n STRING8 name
+ p unused, p=pad(n)
+.De
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+ \(->
+ 1 1 Reply
+ 1 unused
+ 2 CARD16 sequence number
+ 4 0 reply length
+ 2 CARD16 exact-red
+ 2 CARD16 exact-green
+ 2 CARD16 exact-blue
+ 2 CARD16 visual-red
+ 2 CARD16 visual-green
+ 2 CARD16 visual-blue
+ 12 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN CreateCursor
+ 1 93 opcode
+ 1 unused
+ 2 8 request length
+ 4 CURSOR cid
+ 4 PIXMAP source
+ 4 PIXMAP mask
+ 0 None
+ 2 CARD16 fore-red
+ 2 CARD16 fore-green
+ 2 CARD16 fore-blue
+ 2 CARD16 back-red
+ 2 CARD16 back-green
+ 2 CARD16 back-blue
+ 2 CARD16 x
+ 2 CARD16 y
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN CreateGlyphCursor
+ 1 94 opcode
+ 1 unused
+ 2 8 request length
+ 4 CURSOR cid
+ 4 FONT source-font
+ 4 FONT mask-font
+ 0 None
+ 2 CARD16 source-char
+ 2 CARD16 mask-char
+ 2 CARD16 fore-red
+ 2 CARD16 fore-green
+ 2 CARD16 fore-blue
+ 2 CARD16 back-red
+ 2 CARD16 back-green
+ 2 CARD16 back-blue
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN FreeCursor
+ 1 95 opcode
+ 1 unused
+ 2 2 request length
+ 4 CURSOR cursor
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN RecolorCursor
+ 1 96 opcode
+ 1 unused
+ 2 5 request length
+ 4 CURSOR cursor
+ 2 CARD16 fore-red
+ 2 CARD16 fore-green
+ 2 CARD16 fore-blue
+ 2 CARD16 back-red
+ 2 CARD16 back-green
+ 2 CARD16 back-blue
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN QueryBestSize
+ 1 97 opcode
+ 1 class
+ 0 Cursor
+ 1 Tile
+ 2 Stipple
+ 2 3 request length
+ 4 DRAWABLE drawable
+ 2 CARD16 width
+ 2 CARD16 height
+.De
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+ \(->
+ 1 1 Reply
+ 1 unused
+ 2 CARD16 sequence number
+ 4 0 reply length
+ 2 CARD16 width
+ 2 CARD16 height
+ 20 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN QueryExtension
+ 1 98 opcode
+ 1 unused
+ 2 2+(n+p)/4 request length
+ 2 n length of name
+ 2 unused
+ n STRING8 name
+ p unused, p=pad(n)
+.De
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+ \(->
+ 1 1 Reply
+ 1 unused
+ 2 CARD16 sequence number
+ 4 0 reply length
+ 1 BOOL present
+ 1 CARD8 major-opcode
+ 1 CARD8 first-event
+ 1 CARD8 first-error
+ 20 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN ListExtensions
+ 1 99 opcode
+ 1 unused
+ 2 1 request length
+.De
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+ \(->
+ 1 1 Reply
+ 1 CARD8 number of STRs in names
+ 2 CARD16 sequence number
+ 4 (n+p)/4 reply length
+ 24 unused
+ n LISTofSTR names
+ p unused, p=pad(n)
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN ChangeKeyboardMapping
+ 1 100 opcode
+ 1 n keycode-count
+ 2 2+nm request length
+ 1 KEYCODE first-keycode
+ 1 m keysyms-per-keycode
+ 2 unused
+ 4nm LISTofKEYSYM keysyms
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN GetKeyboardMapping
+ 1 101 opcode
+ 1 unused
+ 2 2 request length
+ 1 KEYCODE first-keycode
+ 1 m count
+ 2 unused
+.De
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+ \(->
+ 1 1 Reply
+ 1 n keysyms-per-keycode
+ 2 CARD16 sequence number
+ 4 nm reply length (m = count field from the request)
+ 24 unused
+ 4nm LISTofKEYSYM keysyms
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN ChangeKeyboardControl
+ 1 102 opcode
+ 1 unused
+ 2 2+n request length
+ 4 BITMASK value-mask (has n bits set to 1)
+ #x0001 key-click-percent
+ #x0002 bell-percent
+ #x0004 bell-pitch
+ #x0008 bell-duration
+ #x0010 led
+ #x0020 led-mode
+ #x0040 key
+ #x0080 auto-repeat-mode
+ 4n LISTofVALUE value-list
+.De
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+ VALUEs
+ 1 INT8 key-click-percent
+ 1 INT8 bell-percent
+ 2 INT16 bell-pitch
+ 2 INT16 bell-duration
+ 1 CARD8 led
+ 1 led-mode
+ 0 Off
+ 1 On
+ 1 KEYCODE key
+ 1 auto-repeat-mode
+ 0 Off
+ 1 On
+ 2 Default
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN GetKeyboardControl
+ 1 103 opcode
+ 1 unused
+ 2 1 request length
+.De
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+ \(->
+ 1 1 Reply
+ 1 global-auto-repeat
+ 0 Off
+ 1 On
+ 2 CARD16 sequence number
+ 4 5 reply length
+ 4 CARD32 led-mask
+ 1 CARD8 key-click-percent
+ 1 CARD8 bell-percent
+ 2 CARD16 bell-pitch
+ 2 CARD16 bell-duration
+ 2 unused
+ 32 LISTofCARD8 auto-repeats
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN Bell
+ 1 104 opcode
+ 1 INT8 percent
+ 2 1 request length
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN ChangePointerControl
+ 1 105 opcode
+ 1 unused
+ 2 3 request length
+ 2 INT16 acceleration-numerator
+ 2 INT16 acceleration-denominator
+ 2 INT16 threshold
+ 1 BOOL do-acceleration
+ 1 BOOL do-threshold
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN GetPointerControl
+ 1 106 opcode
+ 1 unused
+ 2 1 request length
+.De
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+ \(->
+ 1 1 Reply
+ 1 unused
+ 2 CARD16 sequence number
+ 4 0 reply length
+ 2 CARD16 acceleration-numerator
+ 2 CARD16 acceleration-denominator
+ 2 CARD16 threshold
+ 18 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN SetScreenSaver
+ 1 107 opcode
+ 1 unused
+ 2 3 request length
+ 2 INT16 timeout
+ 2 INT16 interval
+ 1 prefer-blanking
+ 0 No
+ 1 Yes
+ 2 Default
+ 1 allow-exposures
+ 0 No
+ 1 Yes
+ 2 Default
+ 2 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN GetScreenSaver
+ 1 108 opcode
+ 1 unused
+ 2 1 request length
+.De
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+ \(->
+ 1 1 Reply
+ 1 unused
+ 2 CARD16 sequence number
+ 4 0 reply length
+ 2 CARD16 timeout
+ 2 CARD16 interval
+ 1 prefer-blanking
+ 0 No
+ 1 Yes
+ 1 allow-exposures
+ 0 No
+ 1 Yes
+ 18 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN ChangeHosts
+ 1 109 opcode
+ 1 mode
+ 0 Insert
+ 1 Delete
+ 2 2+(n+p)/4 request length
+ 1 family
+ 0 Internet
+ 1 DECnet
+ 2 Chaos
+ 1 unused
+ 2 n length of address
+ n LISTofCARD8 address
+ p unused, p=pad(n)
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN ListHosts
+ 1 110 opcode
+ 1 unused
+ 2 1 request length
+.De
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+ \(->
+ 1 1 Reply
+ 1 mode
+ 0 Disabled
+ 1 Enabled
+ 2 CARD16 sequence number
+ 4 n/4 reply length
+ 2 CARD16 number of HOSTs in hosts
+ 22 unused
+ n LISTofHOST hosts (n always a multiple of 4)
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN SetAccessControl
+ 1 111 opcode
+ 1 mode
+ 0 Disable
+ 1 Enable
+ 2 1 request length
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN SetCloseDownMode
+ 1 112 opcode
+ 1 mode
+ 0 Destroy
+ 1 RetainPermanent
+ 2 RetainTemporary
+ 2 1 request length
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN KillClient
+ 1 113 opcode
+ 1 unused
+ 2 2 request length
+ 4 CARD32 resource
+ 0 AllTemporary
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN RotateProperties
+ 1 114 opcode
+ 1 unused
+ 2 3+n request length
+ 4 WINDOW window
+ 2 n number of properties
+ 2 INT16 delta
+ 4n LISTofATOM properties
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN ForceScreenSaver
+ 1 115 opcode
+ 1 mode
+ 0 Reset
+ 1 Activate
+ 2 1 request length
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN SetPointerMapping
+ 1 116 opcode
+ 1 n length of map
+ 2 1+(n+p)/4 request length
+ n LISTofCARD8 map
+ p unused, p=pad(n)
+.De
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+ \(->
+ 1 1 Reply
+ 1 status
+ 0 Success
+ 1 Busy
+ 2 CARD16 sequence number
+ 4 0 reply length
+ 24 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN GetPointerMapping
+ 1 117 opcode
+ 1 unused
+ 2 1 request length
+.De
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+ \(->
+ 1 1 Reply
+ 1 n length of map
+ 2 CARD16 sequence number
+ 4 (n+p)/4 reply length
+ 24 unused
+ n LISTofCARD8 map
+ p unused, p=pad(n)
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN SetModifierMapping
+ 1 118 opcode
+ 1 n keycodes-per-modifier
+ 2 1+2n request length
+ 8n LISTofKEYCODE keycodes
+.De
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+ \(->
+ 1 1 Reply
+ 1 status
+ 0 Success
+ 1 Busy
+ 2 Failed
+ 2 CARD16 sequence number
+ 4 0 reply length
+ 24 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN GetModifierMapping
+ 1 119 opcode
+ 1 unused
+ 2 1 request length
+.De
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+ \(->
+ 1 1 Reply
+ 1 n keycodes-per-modifier
+ 2 CARD16 sequence number
+ 4 2n reply length
+ 24 unused
+ 8n LISTofKEYCODE keycodes
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN NoOperation
+ 1 127 opcode
+ 1 unused
+ 2 1+n request length
+ 4n unused
+.De
+.ps 11
+.nr PS 11
+.SH
+Events
+.LP
+.ps 9
+.nr PS 9
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN KeyPress
+ 1 2 code
+ 1 KEYCODE detail
+ 2 CARD16 sequence number
+ 4 TIMESTAMP time
+ 4 WINDOW root
+ 4 WINDOW event
+ 4 WINDOW child
+ 0 None
+ 2 INT16 root-x
+ 2 INT16 root-y
+ 2 INT16 event-x
+ 2 INT16 event-y
+ 2 SETofKEYBUTMASK state
+ 1 BOOL same-screen
+ 1 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN KeyRelease
+ 1 3 code
+ 1 KEYCODE detail
+ 2 CARD16 sequence number
+ 4 TIMESTAMP time
+ 4 WINDOW root
+ 4 WINDOW event
+ 4 WINDOW child
+ 0 None
+ 2 INT16 root-x
+ 2 INT16 root-y
+ 2 INT16 event-x
+ 2 INT16 event-y
+ 2 SETofKEYBUTMASK state
+ 1 BOOL same-screen
+ 1 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN ButtonPress
+ 1 4 code
+ 1 BUTTON detail
+ 2 CARD16 sequence number
+ 4 TIMESTAMP time
+ 4 WINDOW root
+ 4 WINDOW event
+ 4 WINDOW child
+ 0 None
+ 2 INT16 root-x
+ 2 INT16 root-y
+ 2 INT16 event-x
+ 2 INT16 event-y
+ 2 SETofKEYBUTMASK state
+ 1 BOOL same-screen
+ 1 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN ButtonRelease
+ 1 5 code
+ 1 BUTTON detail
+ 2 CARD16 sequence number
+ 4 TIMESTAMP time
+ 4 WINDOW root
+ 4 WINDOW event
+ 4 WINDOW child
+ 0 None
+ 2 INT16 root-x
+ 2 INT16 root-y
+ 2 INT16 event-x
+ 2 INT16 event-y
+ 2 SETofKEYBUTMASK state
+ 1 BOOL same-screen
+ 1 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN MotionNotify
+ 1 6 code
+ 1 detail
+ 0 Normal
+ 1 Hint
+ 2 CARD16 sequence number
+ 4 TIMESTAMP time
+ 4 WINDOW root
+ 4 WINDOW event
+ 4 WINDOW child
+ 0 None
+ 2 INT16 root-x
+ 2 INT16 root-y
+ 2 INT16 event-x
+ 2 INT16 event-y
+ 2 SETofKEYBUTMASK state
+ 1 BOOL same-screen
+ 1 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN EnterNotify
+ 1 7 code
+ 1 detail
+ 0 Ancestor
+ 1 Virtual
+ 2 Inferior
+ 3 Nonlinear
+ 4 NonlinearVirtual
+ 2 CARD16 sequence number
+ 4 TIMESTAMP time
+ 4 WINDOW root
+ 4 WINDOW event
+ 4 WINDOW child
+ 0 None
+ 2 INT16 root-x
+ 2 INT16 root-y
+ 2 INT16 event-x
+ 2 INT16 event-y
+ 2 SETofKEYBUTMASK state
+ 1 mode
+ 0 Normal
+ 1 Grab
+ 2 Ungrab
+ 1 same-screen, focus
+ #x01 focus (1 is True, 0 is False)
+ #x02 same-screen (1 is True, 0 is False)
+ #xFC unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN LeaveNotify
+ 1 8 code
+ 1 detail
+ 0 Ancestor
+ 1 Virtual
+ 2 Inferior
+ 3 Nonlinear
+ 4 NonlinearVirtual
+ 2 CARD16 sequence number
+ 4 TIMESTAMP time
+ 4 WINDOW root
+ 4 WINDOW event
+ 4 WINDOW child
+ 0 None
+ 2 INT16 root-x
+ 2 INT16 root-y
+ 2 INT16 event-x
+ 2 INT16 event-y
+ 2 SETofKEYBUTMASK state
+ 1 mode
+ 0 Normal
+ 1 Grab
+ 2 Ungrab
+ 1 same-screen, focus
+ #x01 focus (1 is True, 0 is False)
+ #x02 same-screen (1 is True, 0 is False)
+ #xFC unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN FocusIn
+ 1 9 code
+ 1 detail
+ 0 Ancestor
+ 1 Virtual
+ 2 Inferior
+ 3 Nonlinear
+ 4 NonlinearVirtual
+ 5 Pointer
+ 6 PointerRoot
+ 7 None
+ 2 CARD16 sequence number
+ 4 WINDOW event
+ 1 mode
+ 0 Normal
+ 1 Grab
+ 2 Ungrab
+ 3 WhileGrabbed
+ 23 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN FocusOut
+ 1 10 code
+ 1 detail
+ 0 Ancestor
+ 1 Virtual
+ 2 Inferior
+ 3 Nonlinear
+ 4 NonlinearVirtual
+ 5 Pointer
+ 6 PointerRoot
+ 7 None
+ 2 CARD16 sequence number
+ 4 WINDOW event
+ 1 mode
+ 0 Normal
+ 1 Grab
+ 2 Ungrab
+ 3 WhileGrabbed
+ 23 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN KeymapNotify
+ 1 11 code
+ 31 LISTofCARD8 keys (byte for keycodes 0\-7 is omitted)
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN Expose
+ 1 12 code
+ 1 unused
+ 2 CARD16 sequence number
+ 4 WINDOW window
+ 2 CARD16 x
+ 2 CARD16 y
+ 2 CARD16 width
+ 2 CARD16 height
+ 2 CARD16 count
+ 14 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN GraphicsExposure
+ 1 13 code
+ 1 unused
+ 2 CARD16 sequence number
+ 4 DRAWABLE drawable
+ 2 CARD16 x
+ 2 CARD16 y
+ 2 CARD16 width
+ 2 CARD16 height
+ 2 CARD16 minor-opcode
+ 2 CARD16 count
+ 1 CARD8 major-opcode
+ 11 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN NoExposure
+ 1 14 code
+ 1 unused
+ 2 CARD16 sequence number
+ 4 DRAWABLE drawable
+ 2 CARD16 minor-opcode
+ 1 CARD8 major-opcode
+ 21 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN VisibilityNotify
+ 1 15 code
+ 1 unused
+ 2 CARD16 sequence number
+ 4 WINDOW window
+ 1 state
+ 0 Unobscured
+ 1 PartiallyObscured
+ 2 FullyObscured
+ 23 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN CreateNotify
+ 1 16 code
+ 1 unused
+ 2 CARD16 sequence number
+ 4 WINDOW parent
+ 4 WINDOW window
+ 2 INT16 x
+ 2 INT16 y
+ 2 CARD16 width
+ 2 CARD16 height
+ 2 CARD16 border-width
+ 1 BOOL override-redirect
+ 9 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN DestroyNotify
+ 1 17 code
+ 1 unused
+ 2 CARD16 sequence number
+ 4 WINDOW event
+ 4 WINDOW window
+ 20 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN UnmapNotify
+ 1 18 code
+ 1 unused
+ 2 CARD16 sequence number
+ 4 WINDOW event
+ 4 WINDOW window
+ 1 BOOL from-configure
+ 19 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN MapNotify
+ 1 19 code
+ 1 unused
+ 2 CARD16 sequence number
+ 4 WINDOW event
+ 4 WINDOW window
+ 1 BOOL override-redirect
+ 19 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN MapRequest
+ 1 20 code
+ 1 unused
+ 2 CARD16 sequence number
+ 4 WINDOW parent
+ 4 WINDOW window
+ 20 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN ReparentNotify
+ 1 21 code
+ 1 unused
+ 2 CARD16 sequence number
+ 4 WINDOW event
+ 4 WINDOW window
+ 4 WINDOW parent
+ 2 INT16 x
+ 2 INT16 y
+ 1 BOOL override-redirect
+ 11 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN ConfigureNotify
+ 1 22 code
+ 1 unused
+ 2 CARD16 sequence number
+ 4 WINDOW event
+ 4 WINDOW window
+ 4 WINDOW above-sibling
+ 0 None
+ 2 INT16 x
+ 2 INT16 y
+ 2 CARD16 width
+ 2 CARD16 height
+ 2 CARD16 border-width
+ 1 BOOL override-redirect
+ 5 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN ConfigureRequest
+ 1 23 code
+ 1 stack-mode
+ 0 Above
+ 1 Below
+ 2 TopIf
+ 3 BottomIf
+ 4 Opposite
+ 2 CARD16 sequence number
+ 4 WINDOW parent
+ 4 WINDOW window
+ 4 WINDOW sibling
+ 0 None
+ 2 INT16 x
+ 2 INT16 y
+ 2 CARD16 width
+ 2 CARD16 height
+ 2 CARD16 border-width
+ 2 BITMASK value-mask
+ #x0001 x
+ #x0002 y
+ #x0004 width
+ #x0008 height
+ #x0010 border-width
+ #x0020 sibling
+ #x0040 stack-mode
+ 4 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN GravityNotify
+ 1 24 code
+ 1 unused
+ 2 CARD16 sequence number
+ 4 WINDOW event
+ 4 WINDOW window
+ 2 INT16 x
+ 2 INT16 y
+ 16 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN ResizeRequest
+ 1 25 code
+ 1 unused
+ 2 CARD16 sequence number
+ 4 WINDOW window
+ 2 CARD16 width
+ 2 CARD16 height
+ 20 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN CirculateNotify
+ 1 26 code
+ 1 unused
+ 2 CARD16 sequence number
+ 4 WINDOW event
+ 4 WINDOW window
+ 4 WINDOW unused
+ 1 place
+ 0 Top
+ 1 Bottom
+ 15 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN CirculateRequest
+ 1 27 code
+ 1 unused
+ 2 CARD16 sequence number
+ 4 WINDOW parent
+ 4 WINDOW window
+ 4 unused
+ 1 place
+ 0 Top
+ 1 Bottom
+ 15 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN PropertyNotify
+ 1 28 code
+ 1 unused
+ 2 CARD16 sequence number
+ 4 WINDOW window
+ 4 ATOM atom
+ 4 TIMESTAMP time
+ 1 state
+ 0 NewValue
+ 1 Deleted
+ 15 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN SelectionClear
+ 1 29 code
+ 1 unused
+ 2 CARD16 sequence number
+ 4 TIMESTAMP time
+ 4 WINDOW owner
+ 4 ATOM selection
+ 16 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN SelectionRequest
+ 1 30 code
+ 1 unused
+ 2 CARD16 sequence number
+ 4 TIMESTAMP time
+ 0 CurrentTime
+ 4 WINDOW owner
+ 4 WINDOW requestor
+ 4 ATOM selection
+ 4 ATOM target
+ 4 ATOM property
+ 0 None
+ 4 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN SelectionNotify
+ 1 31 code
+ 1 unused
+ 2 CARD16 sequence number
+ 4 TIMESTAMP time
+ 0 CurrentTime
+ 4 WINDOW requestor
+ 4 ATOM selection
+ 4 ATOM target
+ 4 ATOM property
+ 0 None
+ 8 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN ColormapNotify
+ 1 32 code
+ 1 unused
+ 2 CARD16 sequence number
+ 4 WINDOW window
+ 4 COLORMAP colormap
+ 0 None
+ 1 BOOL new
+ 1 state
+ 0 Uninstalled
+ 1 Installed
+ 18 unused
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN ClientMessage
+ 1 33 code
+ 1 CARD8 format
+ 2 CARD16 sequence number
+ 4 WINDOW window
+ 4 ATOM type
+ 20 data
+.De
+.LP
+.Ds 0
+.TA .2i .5i 1.5i 2.5i
+.ta .2i .5i 1.5i 2.5i
+.R
+.PN MappingNotify
+ 1 34 code
+ 1 unused
+ 2 CARD16 sequence number
+ 1 request
+ 0 Modifier
+ 1 Keyboard
+ 2 Pointer
+ 1 KEYCODE first-keycode
+ 1 CARD8 count
+ 25 unused
+.De
+.ps 11
+.nr PS 11
+.bp