data XEvent = FocusIn {detail :: Detail, mode :: Mode} | FocusOut {detail :: Detail, mode :: Mode} | KeymapNotify | GraphicsExpose {rect :: Rect, count :: Int, major_code :: Int, minor_code :: Int} | KeyEvent {time :: Time, pos :: Point, rootPos :: Point, state :: ModState, type' :: Pressed, keycode :: KeyCode, keySym :: KeySym, keyLookup :: KeyLookup} | ButtonEvent {time :: Time, pos :: Point, rootPos :: Point, state :: ModState, type' :: Pressed, button :: Button} | MotionNotify {time :: Time, pos :: Point, rootPos :: Point, state :: ModState} | EnterNotify {time :: Time, pos :: Point, rootPos :: Point, detail :: Detail, mode :: Mode, focus :: Bool} | LeaveNotify {time :: Time, pos :: Point, rootPos :: Point, detail :: Detail, mode :: Mode, focus :: Bool} | Expose {rect :: Rect, count :: Int} | NoExpose | VisibilityNotify Visibility | CreateNotify Window | DestroyNotify Window | UnmapNotify Window | MapNotify Window | MapRequest Window | ReparentNotify | ConfigureNotify Rect Int | ConfigureRequest | GravityNotify | ResizeRequest Point | CirculateNotify | CirculateRequest | PropertyNotify | SelectionClear Atom | SelectionRequest Time Window Selection | SelectionNotify Time Selection | ColormapNotify | ClientMessage Atom ClientData | MappingNotify | YourWindowId Window | MenuPopupMode Bool instance Read XEvent instance Show XEvent type Event = XEvent
XEvent
corresponds directly to the similiarly named type defined
in the Xlib library.