To receive
CirculateRequest
events, set the
SubstructureRedirectMask
in the event-mask attribute of the window.
Then, in the future,
the circulate window request for the specified window is not executed,
and thus, any subwindow's position in the stack is not changed.
For example, suppose a client application calls
XCirculateSubwindowsUp()
to raise a subwindow to the top of the stack.
If you had selected
SubstructureRedirectMask
on the window, the X server reports to you a
CirculateRequest
event and does not raise the subwindow to the top of the stack.
CirculateRequest
イベントを受け取るには、
ウインドウの
イベントマスク
属性の
SubstructureRedirectMask
ビットを設定する。
これにより以降、
特定のウインドウでのウインドウ循環(circulate)リクエストは実行されず、
故にスタックの中のいかなるのサブウインドウの位置も変更されない。
例えば、
クライアントアプリケーションがサブウインドウをスタックのトップに上げるために
XCirculateSubwindowsUp()
を呼ぶと想定した場合、
ウインドウで
SubstructureRedirectMask
が選択せれていれば、
X サーバーはあなたにイベントを通知し、
サブウインドウをスタックのトップに上げない。
The structure for this event type contains:
このイベントのための構造体を以下に示す:
typedef struct {
int type; /* CirculateRequest */
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 parent;
Window window;
int place; /* PlaceOnTop, PlaceOnBottom */
} XCirculateRequestEvent;
The parent member is set to the parent window.
The window member is set to the subwindow to be restacked.
The place member is set to what the new position in the stacking order should be
and is either
PlaceOnTop
or
PlaceOnBottom.
If it is
PlaceOnTop,
the subwindow should be on top of all siblings.
If it is
PlaceOnBottom,
the subwindow should be below all siblings.
parent
メンバーには親ウインドウが設定される。
window
メンバーには再スタックされるサブウインドウが設定される。
place
メンバーには
PlaceOnTop
あるいは
PlaceOnBottom
のスタック順序の新しい位置が設定される。
PlaceOnTop
ならばサブウインドウはすべての兄弟ウインドウの上にあるべきだ。
PlaceOnBottom,
ならばサブウインドウはすべての兄弟ウインドウの下にあるべきだ。