`sig
type event_type =
[ `BUTTON_PRESS
| `BUTTON_RELEASE
| `CLIENT_EVENT
| `CONFIGURE
| `DELETE
| `DESTROY
| `DRAG_ENTER
| `DRAG_LEAVE
| `DRAG_MOTION
| `DRAG_STATUS
| `DROP_FINISHED
| `DROP_START
| `ENTER_NOTIFY
| `EXPOSE
| `FOCUS_CHANGE
| `KEY_PRESS
| `KEY_RELEASE
| `LEAVE_NOTIFY
| `MAP
| `MOTION_NOTIFY
| `NOTHING
| `NO_EXPOSE
| `PROPERTY_NOTIFY
| `PROXIMITY_IN
| `PROXIMITY_OUT
| `SCROLL
| `SELECTION_CLEAR
| `SELECTION_NOTIFY
| `SELECTION_REQUEST
| `SETTING
| `THREE_BUTTON_PRESS
| `TWO_BUTTON_PRESS
| `UNMAP
| `VISIBILITY_NOTIFY
| `WINDOW_STATE ]
type event_mask =
[ `ALL_EVENTS
| `BUTTON1_MOTION
| `BUTTON2_MOTION
| `BUTTON3_MOTION
| `BUTTON_MOTION
| `BUTTON_PRESS
| `BUTTON_RELEASE
| `ENTER_NOTIFY
| `EXPOSURE
| `FOCUS_CHANGE
| `KEY_PRESS
| `KEY_RELEASE
| `LEAVE_NOTIFY
| `POINTER_MOTION
| `POINTER_MOTION_HINT
| `PROPERTY_CHANGE
| `PROXIMITY_IN
| `PROXIMITY_OUT
| `SCROLL
| `STRUCTURE
| `SUBSTRUCTURE
| `VISIBILITY_NOTIFY ]
type extension_mode = [ `ALL | `CURSOR | `NONE ]
type visibility_state = [ `FULLY_OBSCURED | `PARTIAL | `UNOBSCURED ]
type input_source = [ `CURSOR | `ERASER | `MOUSE | `PEN ]
type scroll_direction = [ `DOWN | `LEFT | `RIGHT | `UP ]
type notify_type =
[ `ANCESTOR
| `INFERIOR
| `NONLINEAR
| `NONLINEAR_VIRTUAL
| `UNKNOWN
| `VIRTUAL ]
type crossing_mode = [ `GRAB | `NORMAL | `UNGRAB ]
type setting_action = [ `CHANGED | `DELETED | `NEW ]
type window_state = [ `ICONIFIED | `MAXIMIZED | `STICKY | `WITHDRAWN ]
type modifier =
[ `BUTTON1
| `BUTTON2
| `BUTTON3
| `BUTTON4
| `BUTTON5
| `CONTROL
| `HYPER
| `LOCK
| `META
| `MOD1
| `MOD2
| `MOD3
| `MOD4
| `MOD5
| `RELEASE
| `SHIFT
| `SUPER ]
type drag_action = [ `ASK | `COPY | `DEFAULT | `LINK | `MOVE | `PRIVATE ]
type rgb_dither = [ `MAX | `NONE | `NORMAL ]
type property_state = [ `DELETE | `NEW_VALUE ]
type property_mode = [ `APPEND | `PREPEND | `REPLACE ]
type xdata =
[ `BYTES of string | `INT32S of int32 array | `SHORTS of int array ]
type xdata_ret =
[ `BYTES of string
| `INT32S of int32 array
| `NONE
| `SHORTS of int array ]
type gravity =
[ `CENTER
| `EAST
| `NORTH
| `NORTH_EAST
| `NORTH_WEST
| `SOUTH
| `SOUTH_EAST
| `SOUTH_WEST
| `STATIC
| `WEST ]
type window_type_hint =
[ `DESKTOP
| `DIALOG
| `DOCK
| `MENU
| `NORMAL
| `SPLASHSCREEN
| `TOOLBAR
| `UTILITY ]
end`