12.12.6 Structure Control Events

The following paragraphs describe events used to redirect client requests that reconfigure, restack, or map a window. Structure control events are typically used only by window managers and not by ordinary client applications. Structure control events report redirected requests, allowing a window manager to modify the requests before they are actually performed. However, if the override-redirect attribute of a window is :on, then no requests are redirected and no structure control events are generated.



:circulate-request Event Type
        

The :circulate-request event is generated when a client application calls circulate-window-up or circulate-window-down with a window that has the override-redirect attribute :off. The window argument specifies the window to be restacked, and place specifies what the new position in the stacking order should be (either :top or :bottom).

Selected by:
:substructure-redirect on parent.
parent, event-window
Type window. The window receiving the event. The receiving client must have selected :substructure-redirect on this window.
window
Type window. The window to be restacked.
place
Type (member :top :bottom). The new stacking priority requested for window.


:colormap-notify Event Type
        
Selected by:
:colormap-change.

The :colormap-notify event is generated with new-p t when the colormap associated with a window is changed, installed, or uninstalled.

window, event-window
Type window. The window receiving the event.
colormap
Type (or null colormap). The colormap attribute of the window.
new-p
Type boolean. If new-p is true, then the window's colormap attribute has changed to the given colormap. Otherwise, the window's colormap attribute has not, but the colormap has been installed or uninstalled.
installed-p
Type boolean. If installed-p is true, then the colormap is currently installed.


:configure-request Event Type
        
Selected by:
:substructure-redirect on parent.

The :configure-request event is generated when a client program sets the x, y, width, height, border-width or stacking priority attributes of a window that has the override-redirect attribute :off.

parent, event-window
Type window. The window receiving the event. The receiving client must have selected :substructure-redirect on this window.
window
Type window. The window to be reconfigured.
x
Type int16. x and y specify the requested upper-left corner position of the window relative to the parent. If either x or y is not specified in the value-mask, then it is set to the current window position.
y
Type int16. x and y specify the requested upper-left corner position of the window relative to the parent. If either x or y is not specified in the value-mask, then it is set to the current window position.
width, height
Type card16. width and height specify the requested size of the window interior. If either width or height is not specified in the value-mask, then it is set to the current window size.
border-width
Type card16 The requested window border width. If border-width is not specified in the value-mask, then it is set to the current window border-width.
stack-mode
Type (member :above :below :top-if :bottom-if :opposite). stack-mode and above-sibling specify the requested stacking priority of the window. If stack-mode is not specified in the value-mask, then it is set to :above.
above-sibling
Type (or null window). stack-mode and above-sibling specify the requested stacking priority of the window. If above-sibling is not specified in the value-mask, then it is set to nil.
value-mask
Type mask16. Specifies the changed window attributes contained in the redirected client request. Each 1 bit specifies that the corresponding attribute was changed.


:map-request Event Type
        
Selected by:
:substructure-redirect on parent.

The :map-request event is generated when a client application maps a window that has the override-redirect attribute :off.

parent, event-window
Type window. The window receiving the event. The receiving client must have selected :substructure-redirect on this window.
window
Type window. The window to be mapped.


:resize-request Event Type
        
Selected by:
:resize-redirect.

The :resize-request event is generated when a client program sets the width or height attributes of a window that has the override-redirect attribute :off.

window, event-window
Type window. The window to be resized.
width, height
Type card16. width and height specify the requested size of the window interior. If either width or height was unchanged in the client request, then it is set to the current window size.