A CirculateRequest event reports when XCirculateSubwindows, XCirculateSubwindowsDown(), XCirculateSubwindowsUp(), or XRestackWindows() is called to change the stacking order of a group of children.
This event differs from CirculateNotify in that it delivers the parameters of the request before it is carried out. This gives the client that selects this event (usually the window manager) the opportunity to review the request in the light of its window management policy before executing the circulate request itself or to deny the request. (CirculateNotify indicates the final outcome of the request.)
typedef union _XEvent { ... XCirculateRequestEvent xcirculaterequest; ... } XEvent; |
typedef struct { int type; unsigned long serial; /* # of last request processed by server */ Bool send_event; /* True if this came from SendEvent request */ Display *display; /* Display the event was read from */ Window parent; Window window; int place; /* PlaceOnTop, PlaceOnBottom */ } XCirculateRequestEvent; |