typedef struct { int type; /* ConfigureNotify */ unsigned long serial; /* 最後にサーバに処理されたリクエストの番号 */ Bool send_event; /* SendEvent リクエストから送られてきた場合に真 */ Display *display; /* イベントが読み出されたディスプレイ */ Window event; Window window; int x, y; int width, height; int border_width; Window above; Bool override_redirect; } XConfigureEvent;
このイベントを受け取ったとき、構造体の内容は以下のようにセットされている。
type メンバには、イベントの型を一意に識別する定数名が設定される。 例えば、X サーバがクライアントアプリケーションに GraphicsExpose イベントを通知するとき、X サーバは type メンバに GraphicsExpose を設定した XGraphicsExposeEvent 構造体を送る。 display メンバには、イベントが読み出されたディスプレイへのポインタが 設定される。 send_event メンバは、このイベント自身が SendEvent プロトコルリクエストから送られてきた場合に True が設定される。 serial メンバはプロトコルで通知されたシリアル番号を基に設定される。 ただし、最少桁の16ビットから完全32ビットの値に拡張される。 window メンバには、ツールキットのディスパッチャが最も便利に使えるウィ ンドウが設定される。
StructureNotify と SubstructureNotify のどちらを選択したかによって、 event メンバには構成が変えられたウィンドウか、その親ウィンドウが設定 される。 window メンバには、サイズ、位置、境界、スタック順が変わったウィンドウ が設定される。
x, y メンバには親ウィンドウの原点に対する座標が設定され、ウィンドウ の左上外側の位置を示す。 width, height メンバには境界を含まないウィンドウの内側の大きさが設定 される。 border_width メンバには、ウィンドウの境界の幅がピクセル単位で設定さ れる。
above メンバには兄弟ウィンドウが設定され、スタック操作のために使われ る。 X サーバがこのメンバに None を設定した場合、状態が変化したウィンドウは兄弟ウィンドウに対してスタッ クの最下位にある。 しかし、このメンバに兄弟ウィンドウが設定された場合、状態が変化した ウィンドウはこの兄弟ウィンドウの上にある。
override_redirect メンバにはウィンドウの override-redirect 属性が設定 される。 ウィンドウマネージャは、override_redirect メンバが True ならば、通常このウィンドウを無視すべきである。