Multiple events selected by different masks

Two different masks, structure_notify and substructure_notify select essentially the same set of events, except that in the first case, the user gets the events that occur in the Window and in the second, the events that occur in its subwindows.

To accommodate this, the event specification has an extra argument, whose value is either self or child. If omitted, it defaults to self, except for the case of create_notify as explained below.

Remember that registering a callback for any of these events means that the Window will also be getting the others.

Circulate Notify Event. The server generates a circulate_notify event when a window is restacked.

To receive this event when the window itself is affected, specify either:

     circulate_notify
     circulate_notify(self)
     

To receive this event when a child window is affected, specify:

     circulate_notify(child)
     

Configure Notify Event. The server generates a configure_notify event when there is any change to a window's configuration, i.e. position, size, etc.

To receive this event when the window itself is affected, specify either:

     configure_notify
     configure_notify(self)
     

To receive this event when a child window is affected, specify:

     configure_notify(child)
     

Destroy Notify Event. The server generates a destroy_notify event when a window is destroyed.

To receive this event when the window itself is affected, specify either:

     destroy_notify
     destroy_notify(self)
     

To receive this event when a child window is affected, specify:

     destroy_notify(child)
     

Gravity Notify Event. The server generates a gravity_notify event when a window is moved because its parent's size changed.

To receive this event when the window itself is affected, specify either:

     gravity_notify
     gravity_notify(self)
     

To receive this event when a child window is affected, specify:

     gravity_notify(child)
     

Map Notify Event. The server generates a map_notify event when a window changes state from unmapped to mapped.

To receive this event when the window itself is affected, specify either:

     map_notify
     map_notify(self)
     

To receive this event when a child window is affected, specify:

     map_notify(child)
     

Unmap Notify Event. The server generates an unmap_notify event when a window changes state from mapped to unmapped.

To receive this event when the window itself is affected, specify either:

     unmap_notify
     unmap_notify(self)
     

To receive this event when a child window is affected, specify:

     unmap_notify(child)
     

Reparent Notify Event. The server generates a reparent_notify event when the parent of a window changes.

To receive this event when the window itself is affected, specify either:

     reparent_notify
     reparent_notify(self)
     

To receive this event when a child window is affected, specify:

     reparent_notify(child)
     

Create Notify Event. The server generates a create_notify event when a window is created. A newly created window does not receive this event, its parent does. Specify with either:

     create_notify
     create_notify(child)