xenocara/doc/xorg-docs/specs/XProtocol/X11.encoding
2006-11-29 16:49:19 +00:00

4435 lines
67 KiB
Plaintext

.\" $Xorg: X11.encoding,v 1.3 2000/08/17 19:42:23 cpqbld Exp $
.\" $XFree86$
\&
.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
5 ServerInterpreted
6 InternetV6
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