XClientMessageEvent − ClientMessage event structure


The structure for ClientMessage events contains:

typedef struct {

int type;

/* ClientMessage */

unsigned long serial;

/* # of last request processed by server */

Bool send_event;

/* true if this came from a SendEvent request */

Display *display;

/* Display the event was read from */

Window window;

Atom message_type;

int format;

union {

char b[20];

short s[10];

long l[5];

} data;

} XClientMessageEvent;

When you receive this event, the structure members are set as follows.

The type member is set to the event type constant name that uniquely identifies it. For example, when the X server reports a GraphicsExpose event to a client application, it sends an XGraphicsExposeEvent structure with the type member set to GraphicsExpose. The display member is set to a pointer to the display the event was read on. The send_event member is set to True if the event came from a SendEvent protocol request. The serial member is set from the serial number reported in the protocol but expanded from the 16-bit least-significant bits to a full 32-bit value. The window member is set to the window that is most useful to toolkit dispatchers.

The message_type member is set to an atom that indicates how the data should be interpreted by the receiving client. The format member is set to 8, 16, or 32 and specifies whether the data should be viewed as a list of bytes, shorts, or longs. The data member is a union that contains the members b, s, and l. The b, s, and l members represent data of twenty 8-bit values, ten 16-bit values, and five 32-bit values. Particular message types might not make use of all these values. The X server places no interpretation on the values in the window, message_type, or data members.


XAnyEvent(3), XButtonEvent(3), XCreateWindowEvent(3), XCirculateEvent(3), XCirculateRequestEvent(3), XColormapEvent(3), XConfigureEvent(3), XConfigureRequestEvent(3), XCrossingEvent(3), XDestroyWindowEvent(3), XErrorEvent(3), XExposeEvent(3), XFocusChangeEvent(3), XGraphicsExposeEvent(3), XGravityEvent(3), XKeymapEvent(3), XMapEvent(3), XMapRequestEvent(3), XPropertyEvent(3), XReparentEvent(3), XResizeRequestEvent(3), XSelectionClearEvent(3), XSelectionEvent(3), XSelectionRequestEvent(3), XUnmapEvent(3), XVisibilityEvent(3)
Xlib − C Language X Interface

More Linux Commands

pamtopdbimg(1) - convert a Netpbm image to a Palm Pilot Imag
This program is part of Netpbm(1) pamtopdbimg reads a Netpbm image as input and produced a Palm Pilot Image Viewer image (and Image record in a PDB file) as out

tzfile(5) - timezone information (Formats - Linux man page)
This page describes the structure of the timezone files used by tzset(3). These files are typically found under one of the directories /usr/lib/zoneinfo or /usr

perlplan9(1) - Plan 9-specific documentation for Perl.......
These are a few notes describing features peculiar to Plan 9 Perl. As such, it is not intended to be a replacement for the rest of the Perl 5 documentation (whi

B::Terse(3pm) - Walk Perl syntax tree, printing terse info a
This version of B::Terse is really just a wrapper that calls B::Concise with the -terse option. It is provided for compatibility with old scripts (and habits) b

ldap_url_parse(3) - LDAP Uniform Resource Locator routines
These routines support the use of LDAP URLs (Uniform Resource Locators) as detailed in RFC 4516. LDAP URLs look like this: ldap://hostport/dn[?attrs[?scope[?fil

user-dirs.defaults(5) default settings for XDG user dirs....
The /etc/xdg/user-dirs.defaults file is a text file that contains the default values for the XDG user dirs which are used by the xdg-user-dirs-update command. T

ms_print(1) - post-processing tool for Massif (Man Page)....
ms_print takes an output file produced by the Valgrind tool Massif and prints the information in an easy-to-read form. OPTIONS -h --help Show the help message.

qecvt(3) - convert a floating-point number to a string......
The functions qecvt(), qfcvt() and qgcvt() are identical to ecvt(3), fcvt(3) and gcvt(3) respectively, except that they use a long double argument number. See e

XkbFreeGeomPoints(3) - Free points in a outline (Man Page)
XkbFreeGeomPoints.3 - Xkb provides a number of functions to allocate and free subcomponents of a keyboard geometry. Use these functions to create or modify keyb

send_v2trap(3) - send TRAPs or INFORMs from a Net-SNMP MIB m
These three routines may be used to send traps from a MIB module within the Net-SNMP agent (including an AgentX subagent). send_easy_trap() sends an SNMPv1 trap

XkbLockGroup(3) - Locks the keysym group - Linux man page...
XkbLockGroup sends a request to the server to lock the specified group and does not wait for a reply. It returns True if the request was sent and False otherwis

Tcl_Format(3) - manipulate Tcl objects as strings (ManPage)
The procedures described in this manual entry allow Tcl objects to be manipulated as string values. They use the internal representation of the object to store

We can't live, work or learn in freedom unless the software we use is free.