構造体
ClientMessage イベント構造体の内容を示す。
typedef struct { int type; unsigned long serial; Bool send_event; Display *display; Window window; Atom message_type; int format; union { char b[20]; short s[10]; long l[5]; } data; } XClientMessageEvent;
このイベントを受け取った時、構造体のメンバは以下のように設定されている。
type メンバには、イベントの型を一意に識別する定数名が設定される。 例えば、X サーバがクライアントアプリケーションに GraphicsExpose イベントを通知するとき、X サーバは type メンバに GraphicsExpose を設定した XGraphicsExposeEvent 構造体を送る。 display メンバには、イベントが読み出されたディスプレイへのポインタが設定 される。 send_event メンバは、このイベント自身が SendEvent プロトコルリクエストから送られてきた場合に True が設定される。 serial メンバはプロトコルで通知されたシリアル番号を基に設定される。 ただし、最少桁の16ビットから完全32ビットの値に拡張される。 window メンバには、ツールキットのディスパッチャが最も有効に使える ウィンドウが設定される。
message_type メンバには、データを受け取ったクライアントがこれを どのように解釈すべきかを示すアトムが設定される。 format メンバには、8, 16, 32 のいずれかが設定され、データを byte, short, long いずれのリストとみなすかを指定する。 data メンバは、メンバ b, s, l を含む共用体である。 b, s, l メンバは 20 個の 8ビット値、10個の 16ビット値、5個の 32ビット 値を含むデータである。 特定のメッセージ型では、これら全ての値は使用されないことがある。 X サーバは window, message_type, data メンバの値については解釈を行わな い。