10.10.2 ConfigureNotify

The X server can report ConfigureNotify events to clients wanting information about actual changes to a window's state, such as size, position, border, and stacking order. The X server generates this event type whenever one of the following configure window requests made by a client application actually completes:
X サーバーは (サイズ、位置、ボーダー、スタッッキングオーダーなどの) ウインドウの状態の実際の変化についての情報を待つクライアントに ConfigureNotify イベントを通知する。 X サーバーはクライアントアプリケーションによって作られた (後述する) ウインドウ構築リクエストの一つが実際に完了する時には 必ずこのイベント型(type)を発生させる:

To receive ConfigureNotify events, set the StructureNotifyMask bit in the event-mask attribute of the window or the SubstructureNotifyMask bit in the event-mask attribute of the parent window (in which case, configuring any child generates an event).
ConfigureNotify イベントを受け取るには、 ウインドウの event-mask 属性の SubstructureNotifyMask ビットを設定する、 あるいはその親ウインドウの event-mask 属性の SubstructureNotifyMask ビットを設定する。 (この場合、構成(configure)される何らかの子ウインドウからイベントが発生する)。

The structure for this event type contains:
このイベント型(type)のための構造体を以下に示す:


typedef struct {
	int type;	        /* ConfigureNotify */
	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 event;
	Window window;
	int x, y;
	int width, height;
	int border_width;
	Window above;
	Bool override_redirect;
} XConfigureEvent;

The event member is set either to the reconfigured window or to its parent, depending on whether StructureNotify or SubstructureNotify was selected. The window member is set to the window whose size, position, border, and/or stacking order was changed.
event メンバーは、 StructureNotifySubstructureNotify のいずれが選択されているかによって、 再構築されたウインドウかその親ウインドウのどちらかに設定される。 window メンバーは、 サイズ、 位置、 ボーダー、 スタック順序が変更されたウインドウが設定される。

The x and y members are set to the coordinates relative to the parent window's origin and indicate the position of the upper-left outside corner of the window. The width and height members are set to the inside size of the window, not including the border. The border_width member is set to the width of the window's border, in pixels.
xy メンバーは親ウインドウの原点に対する相対座標が設定され、 ウインドウの左上角の外側の位置を示す。 widthheight メンバーはウインドウの内側の大きさが設定される、 ボーダーは含まれない。 border_width メンバーはウインドウのボーダーの幅が設定される、 ピクセル値である。

The above member is set to the sibling window and is used for stacking operations. If the X server sets this member to None , the window whose state was changed is on the bottom of the stack with respect to sibling windows. However, if this member is set to a sibling window, the window whose state was changed is placed on top of this sibling window.
above メンバーは兄弟ウインドウが設定され、 スタッッキング操作に使われる。 X サーバーがこのメンバーに None を設定したなら、 状態が変更されたそのウインドウは兄弟ウインドウのスタックの底にある。 しかしこのメンバーに兄弟ウインドウを設定するなら、 状態が変更されたそのウインドウはこの兄弟ウインドウの上に置かれる。

The override_redirect member is set to the override-redirect attribute of the window. Window manager clients normally should ignore this window if the override_redirect member is True.
override_redirect メンバーはウインドウの override-redirect 属性に設定される。 ウインドウマネージャークライアントは override_redirect メンバーが True であるこのウインドウを通常無視するべきである。

Next: CreateNotify Events

Christophe Tronche, ch.tronche@computer.org