X11-1.10.3: A binding to the X11 graphics library

Copyright | 2007 (c) Spencer Janssen
License | BSD3-style (see LICENSE)
Stability | experimental
Safe Haskell | None
Language | Haskell98

Graphics.X11.Xlib.Extras

Description

Synopsis

- data Event
  - = AnyEvent {
    - ev_event_type :: !EventType
    - ev_serial :: !CULong
    - ev_send_event :: !Bool
    - ev_event_display :: Display
    - ev_window :: !Window
    }
  - | ConfigureRequestEvent {
    - ev_event_type :: !EventType
    - ev_serial :: !CULong
    - ev_send_event :: !Bool
    - ev_event_display :: Display
    - ev_parent :: !Window
    - ev_window :: !Window
    - ev_x :: !CInt
    - ev_y :: !CInt
    - ev_width :: !CInt
    - ev_height :: !CInt
    - ev_border_width :: !CInt
    - ev_above :: !Window
    - ev_detail :: !NotifyDetail
    - ev_value_mask :: !CULong
    }
  - | ConfigureEvent {
    - ev_event_type :: !EventType
    - ev_serial :: !CULong
    - ev_send_event :: !Bool
    - ev_event_display :: Display
    - ev_event :: !Window
    - ev_window :: !Window
    - ev_x :: !CInt
    - ev_y :: !CInt
    - ev_width :: !CInt
    - ev_height :: !CInt
    - ev_border_width :: !CInt
    - ev_above :: !Window
    - ev_override_redirect :: !Bool
    }
  - | MapRequestEvent {
    - ev_event_type :: !EventType
    - ev_serial :: !CULong
    - ev_send_event :: !Bool
    - ev_event_display :: Display
    - ev_parent :: !Window
    - ev_window :: !Window
    }
  - | KeyEvent {
    - ev_event_type :: !EventType
    - ev_serial :: !CULong
    - ev_send_event :: !Bool
    - ev_event_display :: Display
    - ev_window :: !Window
    - ev_root :: !Window
    - ev_subwindow :: !Window
    - ev_time :: !Time
    - ev_x :: !CInt
    - ev_y :: !CInt
    - ev_x_root :: !CInt
    - ev_y_root :: !CInt
    - ev_state :: !KeyMask
    - ev_keycode :: !KeyCode
    - ev_same_screen :: !Bool
    }
  - | ButtonEvent {
    - ev_event_type :: !EventType
    - ev_serial :: !CULong
    - ev_send_event :: !Bool
    - ev_event_display :: Display
    - ev_window :: !Window
    - ev_root :: !Window
    - ev_subwindow :: !Window
    - ev_time :: !Time
    - ev_x :: !CInt
    - ev_y :: !CInt
    - ev_x_root :: !CInt
    - ev_y_root :: !CInt
    - ev_state :: !KeyMask
    - ev_button :: !Button
    - ev_same_screen :: !Bool
    }
  - | MotionEvent {
    - ev_event_type :: !EventType
    - ev_serial :: !CULong
    - ev_send_event :: !Bool
    - ev_event_display :: Display
    - ev_x :: !CInt
    - ev_y :: !CInt
    - ev_window :: !Window
    }
  - | DestroyWindowEvent {
    - ev_event_type :: !EventType
    - ev_serial :: !CULong
    - ev_send_event :: !Bool
    - ev_event_display :: Display
    - ev_event :: !Window
    - ev_window :: !Window
    }
  - | UnmapEvent {
    - ev_event_type :: !EventType
    - ev_serial :: !CULong
    - ev_send_event :: !Bool
    - ev_event_display :: Display
    - ev_event :: !Window
    - ev_window :: !Window
    - ev_from_configure :: !Bool
    }
  - | MapNotifyEvent {
    - ev_event_type :: !EventType
    - ev_serial :: !CULong
    - ev_send_event :: !Bool
    - ev_event_display :: Display
    - ev_event :: !Window
    - ev_window :: !Window
    - ev_override_redirect :: !Bool
    }
  - | MappingNotifyEvent {
    - ev_event_type :: !EventType
    - ev_serial :: !CULong
    - ev_send_event :: !Bool
    - ev_event_display :: Display
    - ev_window :: !Window
    - ev_request :: !MappingRequest
    - ev_first_keycode :: !KeyCode
    - ev_count :: !CInt
    }
  - | CrossingEvent {
    - ev_event_type :: !EventType
    - ev_serial :: !CULong
    - ev_send_event :: !Bool
    - ev_event_display :: Display
    - ev_window :: !Window
    - ev_root :: !Window
    - ev_subwindow :: !Window
    - ev_time :: !Time
    - ev_x :: !CInt
    - ev_y :: !CInt
    - ev_x_root :: !CInt
    - ev_y_root :: !CInt
    - ev_mode :: !NotifyMode
    - ev_detail :: !NotifyDetail
    - ev_same_screen :: !Bool
    - ev_focus :: !Bool
    - ev_state :: !Modifier
    }
  - | SelectionRequest {
    - ev_event_type :: !EventType
    - ev_serial :: !CULong
    - ev_send_event :: !Bool
    - ev_event_display :: Display
    - ev_owner :: !Window
    - ev_requestor :: !Window
    - ev_selection :: !Atom
    - ev_target :: !Atom
    - ev_property :: !Atom
    - ev_time :: !Time
    }
  - | SelectionClear {
    - ev_event_type :: !EventType
    - ev_serial :: !CULong
    - ev_send_event :: !Bool
    - ev_event_display :: Display
    - ev_window :: !Window
    - ev_selection :: !Atom
    - ev_time :: !Time
    }
  - | PropertyEvent {
    - ev_event_type :: !EventType
    - ev_serial :: !CULong
    - ev_send_event :: !Bool
    - ev_event_display :: Display
    - ev_window :: !Window
    - ev_atom :: !Atom
    - ev_time :: !Time
    - ev_propstate :: !CInt
    }
  - | ExposeEvent {
    - ev_event_type :: !EventType
    - ev_serial :: !CULong
    - ev_send_event :: !Bool
    - ev_event_display :: Display
    - ev_window :: !Window
    - ev_x :: !CInt
    - ev_y :: !CInt
    - ev_width :: !CInt
    - ev_height :: !CInt
    - ev_count :: !CInt
    }
  - | FocusChangeEvent {
    - ev_event_type :: !EventType
    - ev_serial :: !CULong
    - ev_send_event :: !Bool
    - ev_event_display :: Display
    - ev_window :: !Window
    - ev_mode :: !NotifyMode
    - ev_detail :: !NotifyDetail
    }
  - | ClientMessageEvent {
    - ev_event_type :: !EventType
    - ev_serial :: !CULong
    - ev_send_event :: !Bool
    - ev_event_display :: Display
    - ev_window :: !Window
    - ev_message_type :: !Atom
    - ev_data :: ![CInt]
    }
  - | RRScreenChangeNotifyEvent {
    - ev_event_type :: !EventType
    - ev_serial :: !CULong
    - ev_send_event :: !Bool
    - ev_event_display :: Display
    - ev_window :: !Window
    - ev_root :: !Window
    - ev_timestamp :: !Time
    - ev_config_timestamp :: !Time
    - ev_size_index :: !SizeID
    - ev_subpixel_order :: !SubpixelOrder
    - ev_rotation :: !Rotation
    - ev_width :: !CInt
    - ev_height :: !CInt
    - ev_mwidth :: !CInt
    - ev_mheight :: !CInt
    }
  - | RRNotifyEvent {
    - ev_event_type :: !EventType
    - ev_serial :: !CULong
    - ev_send_event :: !Bool
    - ev_event_display :: Display
    - ev_window :: !Window
    - ev_subtype :: !CInt
    }
  - | RRCrtcChangeNotifyEvent {
    - ev_event_type :: !EventType
    - ev_serial :: !CULong
    - ev_send_event :: !Bool
    - ev_event_display :: Display
    - ev_window :: !Window
    - ev_subtype :: !CInt
    - ev_crtc :: !RRCrtc
    - ev_rr_mode :: !RRMode
    - ev_rotation :: !Rotation
    - ev_x :: !CInt
    - ev_y :: !CInt
    - ev_rr_width :: !CUInt
    - ev_rr_height :: !CUInt
    }
  - | RROutputChangeNotifyEvent {
    - ev_event_type :: !EventType
    - ev_serial :: !CULong
    - ev_send_event :: !Bool
    - ev_event_display :: Display
    - ev_window :: !Window
    - ev_subtype :: !CInt
    - ev_output :: !RROutput
    - ev_crtc :: !RRCrtc
    - ev_rr_mode :: !RRMode
    - ev_rotation :: !Rotation
    - ev_connection :: !Connection
    - ev_subpixel_order :: !SubpixelOrder
    }
  - | RROutputPropertyNotifyEvent {
    - ev_event_type :: !EventType
    - ev_serial :: !CULong
    - ev_send_event :: !Bool
    - ev_event_display :: Display
    - ev_window :: !Window
    - ev_subtype :: !CInt
    - ev_output :: !RROutput
    - ev_property :: !Atom
    - ev_timestamp :: !Time
    - ev_rr_state :: !CInt
    }
  - | ScreenSaverNotifyEvent {
    - ev_event_type :: !EventType
    - ev_serial :: !CULong
    - ev_send_event :: !Bool
    - ev_event_display :: Display
    - ev_window :: !Window
    - ev_root :: !Window
    - ev_ss_state :: !XScreenSaverState
    - ev_ss_kind :: !XScreenSaverKind
    - ev_forced :: !Bool
    - ev_time :: !Time
    }
- data WindowAttributes = WindowAttributes {
  - wa_x :: CInt
  - wa_y :: CInt
  - wa_width :: CInt
  - wa_height :: CInt
  - wa_border_width :: CInt
  - wa_colormap :: Colormap
  - wa_map_installed :: Bool
  - wa_map_state :: CInt
  - wa_all_event_masks :: EventMask
  - wa_your_event_mask :: EventMask
  - wa_do_not_propagate_mask :: EventMask
  - wa_override_redirect :: Bool
  }
- getWindowAttributes :: Display -> Window -> IO WindowAttributes
- refreshKeyboardMapping :: Event -> IO ()
- xRefreshKeyboardMapping :: Ptr () -> IO CInt
- xSetErrorHandler :: IO ()
- eventTable :: [(EventType, String)]
- eventName :: Event -> String
- getEvent :: XEventPtr -> IO Event
- data WindowChanges = WindowChanges {
  - wc_x :: CInt
  - wc_y :: CInt
  - wc_width :: CInt
  - wc_height :: CInt
  - wc_border_width :: CInt
  - wc_sibling :: Window
  - wc_stack_mode :: CInt
  }
- none :: XID
- anyButton :: Button
- anyKey :: KeyCode
- currentTime :: Time
- xConfigureWindow :: Display -> Window -> CULong -> Ptr WindowChanges -> IO CInt
- killClient :: Display -> Window -> IO CInt
- configureWindow :: Display -> Window -> CULong -> WindowChanges -> IO ()
- xQueryTree :: Display -> Window -> Ptr Window -> Ptr Window -> Ptr (Ptr Window) -> Ptr CInt -> IO Status
- queryTree :: Display -> Window -> IO (Window, Window, [Window])
- waIsUnmapped :: CInt
- waIsUnviewable :: CInt
- waIsViewable :: CInt
- xGetWindowAttributes :: Display -> Window -> Ptr WindowAttributes -> IO Status
- changeWindowAttributes :: Display -> Window -> AttributeMask -> Ptr SetWindowAttributes -> IO ()
- withServer :: Display -> IO () -> IO ()
- data TextProperty = TextProperty {
  - tp_value :: CString
  - tp_encoding :: Atom
  - tp_format :: CInt
  - tp_nitems :: Word64
  }
- xGetTextProperty :: Display -> Window -> Ptr TextProperty -> Atom -> IO Status
- getTextProperty :: Display -> Window -> Atom -> IO TextProperty
- xwcTextPropertyToTextList :: Display -> Ptr TextProperty -> Ptr (Ptr CWString) -> Ptr CInt -> IO CInt
- wcTextPropertyToTextList :: Display -> TextProperty -> IO [String]
- wcFreeStringList :: Ptr CWString -> IO ()
- newtype FontSet = FontSet (Ptr FontSet)
- xCreateFontSet :: Display -> CString -> Ptr (Ptr CString) -> Ptr CInt -> Ptr CString -> IO (Ptr FontSet)
- createFontSet :: Display -> String -> IO ([String], String, FontSet)
- freeStringList :: Ptr CString -> IO ()
- freeFontSet :: Display -> FontSet -> IO ()
- xwcTextExtents :: FontSet -> CWString -> CInt -> Ptr Rectangle -> Ptr Rectangle -> IO CInt
- wcTextExtents :: FontSet -> String -> (Rectangle, Rectangle)
- xwcDrawString :: Display -> Drawable -> FontSet -> GC -> Position -> Position -> CWString -> CInt -> IO ()
- wcDrawString :: Display -> Drawable -> FontSet -> GC -> Position -> Position -> String -> IO ()
- xwcDrawImageString :: Display -> Drawable -> FontSet -> GC -> Position -> Position -> CWString -> CInt -> IO ()
- wcDrawImageString :: Display -> Drawable -> FontSet -> GC -> Position -> Position -> String -> IO ()
- xwcTextEscapement :: FontSet -> CWString -> CInt -> IO Int32
- wcTextEscapement :: FontSet -> String -> Int32
- xFetchName :: Display -> Window -> Ptr CString -> IO Status
- fetchName :: Display -> Window -> IO (Maybe String)
- xGetTransientForHint :: Display -> Window -> Ptr Window -> IO Status
- getTransientForHint :: Display -> Window -> IO (Maybe Window)
- getWMProtocols :: Display -> Window -> IO [Atom]
- xGetWMProtocols :: Display -> Window -> Ptr (Ptr Atom) -> Ptr CInt -> IO Status
- setEventType :: XEventPtr -> EventType -> IO ()
- setSelectionNotify :: XEventPtr -> Window -> Atom -> Atom -> Atom -> Time -> IO ()
- setClientMessageEvent :: XEventPtr -> Window -> Atom -> CInt -> Atom -> Time -> IO ()
- setClientMessageEvent' :: XEventPtr -> Window -> Atom -> CInt -> [CInt] -> IO ()
- setConfigureEvent :: XEventPtr -> Window -> Window -> CInt -> CInt -> CInt -> CInt -> CInt -> Window -> Bool -> IO ()
- setKeyEvent :: XEventPtr -> Window -> Window -> Window -> KeyMask -> KeyCode -> Bool -> IO ()
- anyPropertyType :: Atom
- xChangeProperty :: Display -> Window -> Atom -> Atom -> CInt -> CInt -> Ptr CUChar -> CInt -> IO Status
- xDeleteProperty :: Display -> Window -> Atom -> IO Status
- xGetWindowProperty :: Display -> Window -> Atom -> CLong -> CLong -> Bool -> Atom -> Ptr Atom -> Ptr CInt -> Ptr CULong -> Ptr CULong -> Ptr (Ptr CUChar) -> IO Status
- rawGetWindowProperty :: Storable a => Int -> Display -> Atom -> Window -> IO (Maybe [a])
- getWindowProperty8 :: Display -> Atom -> Window -> IO (Maybe [CChar])
- getWindowProperty16 :: Display -> Atom -> Window -> IO (Maybe [CShort])
- getWindowProperty32 :: Display -> Atom -> Window -> IO (Maybe [CLong])
- changeProperty8 :: Display -> Window -> Atom -> Atom -> CInt -> [CChar] -> IO ()
- changeProperty16 :: Display -> Window -> Atom -> Atom -> CInt -> [CShort] -> IO ()
- changeProperty32 :: Display -> Window -> Atom -> Atom -> CInt -> [CLong] -> IO ()
- propModeReplace :: CInt
- propModePrepend :: CInt
- propModeAppend :: CInt
- deleteProperty :: Display -> Window -> Atom -> IO ()
- xUnmapWindow :: Display -> Window -> IO CInt
- unmapWindow :: Display -> Window -> IO ()
- data SizeHints = SizeHints {
  - sh_min_size :: Maybe (Dimension, Dimension)
  - sh_max_size :: Maybe (Dimension, Dimension)
  - sh_resize_inc :: Maybe (Dimension, Dimension)
  - sh_aspect :: Maybe ((Dimension, Dimension), (Dimension, Dimension))
  - sh_base_size :: Maybe (Dimension, Dimension)
  - sh_win_gravity :: Maybe BitGravity
  }
- pMinSizeBit :: Int
- pMaxSizeBit :: Int
- pResizeIncBit :: Int
- pAspectBit :: Int
- pBaseSizeBit :: Int
- pWinGravityBit :: Int
- xGetWMNormalHints :: Display -> Window -> Ptr SizeHints -> Ptr CLong -> IO Status
- getWMNormalHints :: Display -> Window -> IO SizeHints
- xAllocSizeHints :: IO (Ptr SizeHints)
- xSetWMNormalHints :: Display -> Window -> Ptr SizeHints -> IO ()
- setWMNormalHints :: Display -> Window -> SizeHints -> IO ()
- data ClassHint = ClassHint {
  - resName :: String
  - resClass :: String
  }
- getClassHint :: Display -> Window -> IO ClassHint
- xGetClassHint :: Display -> Window -> Ptr ClassHint -> IO Status
- setClassHint :: Display -> Window -> ClassHint -> IO ()
- xSetClassHint :: Display -> Window -> Ptr ClassHint -> IO ()
- withdrawnState :: Int
- normalState :: Int
- iconicState :: Int
- inputHintBit :: Int
- stateHintBit :: Int
- iconPixmapHintBit :: Int
- iconWindowHintBit :: Int
- iconPositionHintBit :: Int
- iconMaskHintBit :: Int
- windowGroupHintBit :: Int
- urgencyHintBit :: Int
- allHintsBitmask :: CLong
- data WMHints = WMHints {
  - wmh_flags :: CLong
  - wmh_input :: Bool
  - wmh_initial_state :: CInt
  - wmh_icon_pixmap :: Pixmap
  - wmh_icon_window :: Window
  - wmh_icon_x :: CInt
  - wmh_icon_y :: CInt
  - wmh_icon_mask :: Pixmap
  - wmh_window_group :: XID
  }
- xGetWMHints :: Display -> Window -> IO (Ptr WMHints)
- getWMHints :: Display -> Window -> IO WMHints
- xAllocWMHints :: IO (Ptr WMHints)
- xSetWMHints :: Display -> Window -> Ptr WMHints -> IO Status
- setWMHints :: Display -> Window -> WMHints -> IO Status
- isCursorKey :: KeySym -> Bool
- isFunctionKey :: KeySym -> Bool
- isKeypadKey :: KeySym -> Bool
- isMiscFunctionKey :: KeySym -> Bool
- isModifierKey :: KeySym -> Bool
- isPFKey :: KeySym -> Bool
- isPrivateKeypadKey :: KeySym -> Bool
- xSetSelectionOwner :: Display -> Atom -> Window -> Time -> IO ()
- xGetSelectionOwner :: Display -> Atom -> IO Window
- xConvertSelection :: Display -> Atom -> Atom -> Atom -> Window -> Time -> IO ()
- type XErrorEventPtr = Ptr ()
- type CXErrorHandler = Display -> XErrorEventPtr -> IO CInt
- type XErrorHandler = Display -> XErrorEventPtr -> IO ()
- data ErrorEvent = ErrorEvent {
  - ev_type :: !CInt
  - ev_display :: Display
  - ev_serialnum :: !CULong
  - ev_error_code :: !CUChar
  - ev_request_code :: !CUChar
  - ev_minor_code :: !CUChar
  - ev_resourceid :: !XID
  }
- mkXErrorHandler :: CXErrorHandler -> IO (FunPtr CXErrorHandler)
- getXErrorHandler :: FunPtr CXErrorHandler -> CXErrorHandler
- _xSetErrorHandler :: FunPtr CXErrorHandler -> IO (FunPtr CXErrorHandler)
- setErrorHandler :: XErrorHandler -> IO ()
- getErrorEvent :: XErrorEventPtr -> IO ErrorEvent
- mapRaised :: Display -> Window -> IO CInt
- xGetCommand :: Display -> Window -> Ptr (Ptr CWString) -> Ptr CInt -> IO Status
- getCommand :: Display -> Window -> IO [String]
- xGetModifierMapping :: Display -> IO (Ptr ())
- xFreeModifiermap :: Ptr () -> IO (Ptr CInt)
- getModifierMapping :: Display -> IO [(Modifier, [KeyCode])]
- xFree :: Ptr a -> IO CInt

# Documentation

data Event #

Constructors

AnyEvent |

Fields

- ev_event_type :: !EventType
- ev_serial :: !CULong
- ev_send_event :: !Bool
- ev_event_display :: Display
- ev_window :: !Window

ConfigureRequestEvent |

Fields

- ev_event_type :: !EventType
- ev_serial :: !CULong
- ev_send_event :: !Bool
- ev_event_display :: Display
- ev_parent :: !Window
- ev_window :: !Window
- ev_x :: !CInt
- ev_y :: !CInt
- ev_width :: !CInt
- ev_height :: !CInt
- ev_border_width :: !CInt
- ev_above :: !Window
- ev_detail :: !NotifyDetail
- ev_value_mask :: !CULong

ConfigureEvent |

Fields

- ev_event_type :: !EventType
- ev_serial :: !CULong
- ev_send_event :: !Bool
- ev_event_display :: Display
- ev_event :: !Window
- ev_window :: !Window
- ev_x :: !CInt
- ev_y :: !CInt
- ev_width :: !CInt
- ev_height :: !CInt
- ev_border_width :: !CInt
- ev_above :: !Window
- ev_override_redirect :: !Bool

MapRequestEvent |

Fields

- ev_event_type :: !EventType
- ev_serial :: !CULong
- ev_send_event :: !Bool
- ev_event_display :: Display
- ev_parent :: !Window
- ev_window :: !Window

KeyEvent |

Fields

- ev_event_type :: !EventType
- ev_serial :: !CULong
- ev_send_event :: !Bool
- ev_event_display :: Display
- ev_window :: !Window
- ev_root :: !Window
- ev_subwindow :: !Window
- ev_time :: !Time
- ev_x :: !CInt
- ev_y :: !CInt
- ev_x_root :: !CInt
- ev_y_root :: !CInt
- ev_state :: !KeyMask
- ev_keycode :: !KeyCode
- ev_same_screen :: !Bool

ButtonEvent |

Fields

- ev_event_type :: !EventType
- ev_serial :: !CULong
- ev_send_event :: !Bool
- ev_event_display :: Display
- ev_window :: !Window
- ev_root :: !Window
- ev_subwindow :: !Window
- ev_time :: !Time
- ev_x :: !CInt
- ev_y :: !CInt
- ev_x_root :: !CInt
- ev_y_root :: !CInt
- ev_state :: !KeyMask
- ev_button :: !Button
- ev_same_screen :: !Bool

MotionEvent |

Fields

- ev_event_type :: !EventType
- ev_serial :: !CULong
- ev_send_event :: !Bool
- ev_event_display :: Display
- ev_x :: !CInt
- ev_y :: !CInt
- ev_window :: !Window

DestroyWindowEvent |

Fields

- ev_event_type :: !EventType
- ev_serial :: !CULong
- ev_send_event :: !Bool
- ev_event_display :: Display
- ev_event :: !Window
- ev_window :: !Window

UnmapEvent |

Fields

- ev_event_type :: !EventType
- ev_serial :: !CULong
- ev_send_event :: !Bool
- ev_event_display :: Display
- ev_event :: !Window
- ev_window :: !Window
- ev_from_configure :: !Bool

MapNotifyEvent |

Fields

- ev_event_type :: !EventType
- ev_serial :: !CULong
- ev_send_event :: !Bool
- ev_event_display :: Display
- ev_event :: !Window
- ev_window :: !Window
- ev_override_redirect :: !Bool

MappingNotifyEvent |

Fields

- ev_event_type :: !EventType
- ev_serial :: !CULong
- ev_send_event :: !Bool
- ev_event_display :: Display
- ev_window :: !Window
- ev_request :: !MappingRequest
- ev_first_keycode :: !KeyCode
- ev_count :: !CInt

CrossingEvent |

Fields

- ev_event_type :: !EventType
- ev_serial :: !CULong
- ev_send_event :: !Bool
- ev_event_display :: Display
- ev_window :: !Window
- ev_root :: !Window
- ev_subwindow :: !Window
- ev_time :: !Time
- ev_x :: !CInt
- ev_y :: !CInt
- ev_x_root :: !CInt
- ev_y_root :: !CInt
- ev_mode :: !NotifyMode
- ev_detail :: !NotifyDetail
- ev_same_screen :: !Bool
- ev_focus :: !Bool
- ev_state :: !Modifier

SelectionRequest |

Fields

- ev_event_type :: !EventType
- ev_serial :: !CULong
- ev_send_event :: !Bool
- ev_event_display :: Display
- ev_owner :: !Window
- ev_requestor :: !Window
- ev_selection :: !Atom
- ev_target :: !Atom
- ev_property :: !Atom
- ev_time :: !Time

SelectionClear |

Fields

- ev_event_type :: !EventType
- ev_serial :: !CULong
- ev_send_event :: !Bool
- ev_event_display :: Display
- ev_window :: !Window
- ev_selection :: !Atom
- ev_time :: !Time

PropertyEvent |

Fields

- ev_event_type :: !EventType
- ev_serial :: !CULong
- ev_send_event :: !Bool
- ev_event_display :: Display
- ev_window :: !Window
- ev_atom :: !Atom
- ev_time :: !Time
- ev_propstate :: !CInt

ExposeEvent |

Fields

- ev_event_type :: !EventType
- ev_serial :: !CULong
- ev_send_event :: !Bool
- ev_event_display :: Display
- ev_window :: !Window
- ev_x :: !CInt
- ev_y :: !CInt
- ev_width :: !CInt
- ev_height :: !CInt
- ev_count :: !CInt

FocusChangeEvent |

Fields

- ev_event_type :: !EventType
- ev_serial :: !CULong
- ev_send_event :: !Bool
- ev_event_display :: Display
- ev_window :: !Window
- ev_mode :: !NotifyMode
- ev_detail :: !NotifyDetail

ClientMessageEvent |

Fields

- ev_event_type :: !EventType
- ev_serial :: !CULong
- ev_send_event :: !Bool
- ev_event_display :: Display
- ev_window :: !Window
- ev_message_type :: !Atom
- ev_data :: ![CInt]

RRScreenChangeNotifyEvent |

Fields

- ev_event_type :: !EventType
- ev_serial :: !CULong
- ev_send_event :: !Bool
- ev_event_display :: Display
- ev_window :: !Window
- ev_root :: !Window
- ev_timestamp :: !Time
- ev_config_timestamp :: !Time
- ev_size_index :: !SizeID
- ev_subpixel_order :: !SubpixelOrder
- ev_rotation :: !Rotation
- ev_width :: !CInt
- ev_height :: !CInt
- ev_mwidth :: !CInt
- ev_mheight :: !CInt

RRNotifyEvent |

Fields

- ev_event_type :: !EventType
- ev_serial :: !CULong
- ev_send_event :: !Bool
- ev_event_display :: Display
- ev_window :: !Window
- ev_subtype :: !CInt

RRCrtcChangeNotifyEvent |

Fields

- ev_event_type :: !EventType
- ev_serial :: !CULong
- ev_send_event :: !Bool
- ev_event_display :: Display
- ev_window :: !Window
- ev_subtype :: !CInt
- ev_crtc :: !RRCrtc
- ev_rr_mode :: !RRMode
- ev_rotation :: !Rotation
- ev_x :: !CInt
- ev_y :: !CInt
- ev_rr_width :: !CUInt
- ev_rr_height :: !CUInt

RROutputChangeNotifyEvent |

Fields

- ev_event_type :: !EventType
- ev_serial :: !CULong
- ev_send_event :: !Bool
- ev_event_display :: Display
- ev_window :: !Window
- ev_subtype :: !CInt
- ev_output :: !RROutput
- ev_crtc :: !RRCrtc
- ev_rr_mode :: !RRMode
- ev_rotation :: !Rotation
- ev_connection :: !Connection
- ev_subpixel_order :: !SubpixelOrder

RROutputPropertyNotifyEvent |

Fields

- ev_event_type :: !EventType
- ev_serial :: !CULong
- ev_send_event :: !Bool
- ev_event_display :: Display
- ev_window :: !Window
- ev_subtype :: !CInt
- ev_output :: !RROutput
- ev_property :: !Atom
- ev_timestamp :: !Time
- ev_rr_state :: !CInt

ScreenSaverNotifyEvent |

Fields

- ev_event_type :: !EventType
- ev_serial :: !CULong
- ev_send_event :: !Bool
- ev_event_display :: Display
- ev_window :: !Window
- ev_root :: !Window
- ev_ss_state :: !XScreenSaverState
- ev_ss_kind :: !XScreenSaverKind
- ev_forced :: !Bool
- ev_time :: !Time

#### Instances

Instances details

Show Event # |
Instance details Defined in Graphics.X11.Xlib.Extras Methods showsPrec :: Int -> Event -> ShowS # show :: Event -> String # showList :: [Event] -> ShowS #

data WindowAttributes #

Constructors

WindowAttributes |

Fields

- wa_x :: CInt
- wa_y :: CInt
- wa_width :: CInt
- wa_height :: CInt
- wa_border_width :: CInt
- wa_colormap :: Colormap
- wa_map_installed :: Bool
- wa_map_state :: CInt
- wa_all_event_masks :: EventMask
- wa_your_event_mask :: EventMask
- wa_do_not_propagate_mask :: EventMask
- wa_override_redirect :: Bool

#### Instances

Instances details

Storable WindowAttributes # |

Instance details

Defined in Graphics.X11.Xlib.Extras

Methods

sizeOf :: WindowAttributes -> Int #

alignment :: WindowAttributes -> Int #

peekElemOff :: Ptr WindowAttributes -> Int -> IO WindowAttributes #

pokeElemOff :: Ptr WindowAttributes -> Int -> WindowAttributes -> IO () #

peekByteOff :: Ptr b -> Int -> IO WindowAttributes #

pokeByteOff :: Ptr b -> Int -> WindowAttributes -> IO () #

peek :: Ptr WindowAttributes -> IO WindowAttributes #

poke :: Ptr WindowAttributes -> WindowAttributes -> IO () #

getWindowAttributes :: Display -> Window -> IO WindowAttributes #

refreshKeyboardMapping :: Event -> IO () #

refreshKeyboardMapping. TODO Remove this binding when the fix has been commited to X11

xRefreshKeyboardMapping :: Ptr () -> IO CInt #

xSetErrorHandler :: IO () #

eventTable :: [(EventType, String)] #

eventName :: Event -> String #

getEvent :: XEventPtr -> IO Event #

data WindowChanges #

Constructors

WindowChanges |

Fields

- wc_x :: CInt
- wc_y :: CInt
- wc_width :: CInt
- wc_height :: CInt
- wc_border_width :: CInt
- wc_sibling :: Window
- wc_stack_mode :: CInt

#### Instances

Instances details

Storable WindowChanges # |

Instance details

Defined in Graphics.X11.Xlib.Extras

Methods

sizeOf :: WindowChanges -> Int #

alignment :: WindowChanges -> Int #

peekElemOff :: Ptr WindowChanges -> Int -> IO WindowChanges #

pokeElemOff :: Ptr WindowChanges -> Int -> WindowChanges -> IO () #

peekByteOff :: Ptr b -> Int -> IO WindowChanges #

pokeByteOff :: Ptr b -> Int -> WindowChanges -> IO () #

peek :: Ptr WindowChanges -> IO WindowChanges #

poke :: Ptr WindowChanges -> WindowChanges -> IO () #

none :: XID #

anyButton :: Button #

anyKey :: KeyCode #

currentTime :: Time #

xConfigureWindow :: Display -> Window -> CULong -> Ptr WindowChanges -> IO CInt #

killClient :: Display -> Window -> IO CInt #

configureWindow :: Display -> Window -> CULong -> WindowChanges -> IO () #

xQueryTree :: Display -> Window -> Ptr Window -> Ptr Window -> Ptr (Ptr Window) -> Ptr CInt -> IO Status #

queryTree :: Display -> Window -> IO (Window, Window, [Window]) #

waIsUnmapped :: CInt #

waIsUnviewable :: CInt #

waIsViewable :: CInt #

xGetWindowAttributes :: Display -> Window -> Ptr WindowAttributes -> IO Status #

changeWindowAttributes :: Display -> Window -> AttributeMask -> Ptr SetWindowAttributes -> IO () #

interface to the X11 library function `XChangeWindowAttributes()`.

withServer :: Display -> IO () -> IO () #

Run an action with the server

data TextProperty #

Constructors

TextProperty |

Fields

- tp_value :: CString
- tp_encoding :: Atom
- tp_format :: CInt
- tp_nitems :: Word64

#### Instances

Instances details

Storable TextProperty # |

Instance details

Defined in Graphics.X11.Xlib.Extras

Methods

sizeOf :: TextProperty -> Int #

alignment :: TextProperty -> Int #

peekElemOff :: Ptr TextProperty -> Int -> IO TextProperty #

pokeElemOff :: Ptr TextProperty -> Int -> TextProperty -> IO () #

peekByteOff :: Ptr b -> Int -> IO TextProperty #

pokeByteOff :: Ptr b -> Int -> TextProperty -> IO () #

peek :: Ptr TextProperty -> IO TextProperty #

poke :: Ptr TextProperty -> TextProperty -> IO () #

xGetTextProperty :: Display -> Window -> Ptr TextProperty -> Atom -> IO Status #

getTextProperty :: Display -> Window -> Atom -> IO TextProperty #

xwcTextPropertyToTextList :: Display -> Ptr TextProperty -> Ptr (Ptr CWString) -> Ptr CInt -> IO CInt #

wcTextPropertyToTextList :: Display -> TextProperty -> IO [String] #

wcFreeStringList :: Ptr CWString -> IO () #

newtype FontSet #

Constructors

FontSet (Ptr FontSet) |

#### Instances

Instances details

Show FontSet # |
Instance details Defined in Graphics.X11.Xlib.Extras Methods showsPrec :: Int -> FontSet -> ShowS # show :: FontSet -> String # showList :: [FontSet] -> ShowS #
Eq FontSet # |
Instance details Defined in Graphics.X11.Xlib.Extras Methods (==) :: FontSet -> FontSet -> Bool # (/=) :: FontSet -> FontSet -> Bool #
Ord FontSet # |
Instance details Defined in Graphics.X11.Xlib.Extras Methods compare :: FontSet -> FontSet -> Ordering # (<) :: FontSet -> FontSet -> Bool # (<=) :: FontSet -> FontSet -> Bool # (>) :: FontSet -> FontSet -> Bool # (>=) :: FontSet -> FontSet -> Bool # max :: FontSet -> FontSet -> FontSet # min :: FontSet -> FontSet -> FontSet #

xCreateFontSet :: Display -> CString -> Ptr (Ptr CString) -> Ptr CInt -> Ptr CString -> IO (Ptr FontSet) #

createFontSet :: Display -> String -> IO ([String], String, FontSet) #

freeStringList :: Ptr CString -> IO () #

freeFontSet :: Display -> FontSet -> IO () #

xwcTextExtents :: FontSet -> CWString -> CInt -> Ptr Rectangle -> Ptr Rectangle -> IO CInt #

wcTextExtents :: FontSet -> String -> (Rectangle, Rectangle) #

xwcDrawString :: Display -> Drawable -> FontSet -> GC -> Position -> Position -> CWString -> CInt -> IO () #

wcDrawString :: Display -> Drawable -> FontSet -> GC -> Position -> Position -> String -> IO () #

xwcDrawImageString :: Display -> Drawable -> FontSet -> GC -> Position -> Position -> CWString -> CInt -> IO () #

wcDrawImageString :: Display -> Drawable -> FontSet -> GC -> Position -> Position -> String -> IO () #

xwcTextEscapement :: FontSet -> CWString -> CInt -> IO Int32 #

wcTextEscapement :: FontSet -> String -> Int32 #

xFetchName :: Display -> Window -> Ptr CString -> IO Status #

fetchName :: Display -> Window -> IO (Maybe String) #

xGetTransientForHint :: Display -> Window -> Ptr Window -> IO Status #

getTransientForHint :: Display -> Window -> IO (Maybe Window) #

getWMProtocols :: Display -> Window -> IO [Atom] #

The XGetWMProtocols function returns the list of atoms stored in the WM_PROTOCOLS property on the specified window. These atoms describe window manager protocols in which the owner of this window is willing to participate. If the property exists, is of type ATOM, is of format 32, and the atom WM_PROTOCOLS can be interned, XGetWMProtocols sets the protocols_return argument to a list of atoms, sets the count_return argument to the number of elements in the list, and returns a nonzero status. Otherwise, it sets neither of the return arguments and returns a zero status. To release the list of atoms, use XFree.

xGetWMProtocols :: Display -> Window -> Ptr (Ptr Atom) -> Ptr CInt -> IO Status #

setEventType :: XEventPtr -> EventType -> IO () #

setSelectionNotify :: XEventPtr -> Window -> Atom -> Atom -> Atom -> Time -> IO () #

setClientMessageEvent :: XEventPtr -> Window -> Atom -> CInt -> Atom -> Time -> IO () #

setClientMessageEvent' :: XEventPtr -> Window -> Atom -> CInt -> [CInt] -> IO () #

setConfigureEvent :: XEventPtr -> Window -> Window -> CInt -> CInt -> CInt -> CInt -> CInt -> Window -> Bool -> IO () #

setKeyEvent :: XEventPtr -> Window -> Window -> Window -> KeyMask -> KeyCode -> Bool -> IO () #

anyPropertyType :: Atom #

xChangeProperty :: Display -> Window -> Atom -> Atom -> CInt -> CInt -> Ptr CUChar -> CInt -> IO Status #

xDeleteProperty :: Display -> Window -> Atom -> IO Status #

xGetWindowProperty :: Display -> Window -> Atom -> CLong -> CLong -> Bool -> Atom -> Ptr Atom -> Ptr CInt -> Ptr CULong -> Ptr CULong -> Ptr (Ptr CUChar) -> IO Status #

rawGetWindowProperty :: Storable a => Int -> Display -> Atom -> Window -> IO (Maybe [a]) #

getWindowProperty8 :: Display -> Atom -> Window -> IO (Maybe [CChar]) #

getWindowProperty16 :: Display -> Atom -> Window -> IO (Maybe [CShort]) #

getWindowProperty32 :: Display -> Atom -> Window -> IO (Maybe [CLong]) #

changeProperty8 :: Display -> Window -> Atom -> Atom -> CInt -> [CChar] -> IO () #

changeProperty16 :: Display -> Window -> Atom -> Atom -> CInt -> [CShort] -> IO () #

changeProperty32 :: Display -> Window -> Atom -> Atom -> CInt -> [CLong] -> IO () #

propModeReplace :: CInt #

propModePrepend :: CInt #

propModeAppend :: CInt #

deleteProperty :: Display -> Window -> Atom -> IO () #

xUnmapWindow :: Display -> Window -> IO CInt #

unmapWindow :: Display -> Window -> IO () #

data SizeHints #

Constructors

SizeHints |

Fields

- sh_min_size :: Maybe (Dimension, Dimension)
- sh_max_size :: Maybe (Dimension, Dimension)
- sh_resize_inc :: Maybe (Dimension, Dimension)
- sh_aspect :: Maybe ((Dimension, Dimension), (Dimension, Dimension))
- sh_base_size :: Maybe (Dimension, Dimension)
- sh_win_gravity :: Maybe BitGravity

#### Instances

Instances details

Storable SizeHints # |

Instance details

Defined in Graphics.X11.Xlib.Extras

Methods

sizeOf :: SizeHints -> Int #

alignment :: SizeHints -> Int #

peekElemOff :: Ptr SizeHints -> Int -> IO SizeHints #

pokeElemOff :: Ptr SizeHints -> Int -> SizeHints -> IO () #

peekByteOff :: Ptr b -> Int -> IO SizeHints #

pokeByteOff :: Ptr b -> Int -> SizeHints -> IO () #

peek :: Ptr SizeHints -> IO SizeHints #

poke :: Ptr SizeHints -> SizeHints -> IO () #

pMinSizeBit :: Int #

pMaxSizeBit :: Int #

pResizeIncBit :: Int #

pAspectBit :: Int #

pBaseSizeBit :: Int #

pWinGravityBit :: Int #

xGetWMNormalHints :: Display -> Window -> Ptr SizeHints -> Ptr CLong -> IO Status #

getWMNormalHints :: Display -> Window -> IO SizeHints #

xAllocSizeHints :: IO (Ptr SizeHints) #

xSetWMNormalHints :: Display -> Window -> Ptr SizeHints -> IO () #

setWMNormalHints :: Display -> Window -> SizeHints -> IO () #

data ClassHint #

Constructors

ClassHint |

Fields

- resName :: String
- resClass :: String

getClassHint :: Display -> Window -> IO ClassHint #

xGetClassHint :: Display -> Window -> Ptr ClassHint -> IO Status #

setClassHint :: Display -> Window -> ClassHint -> IO () #

Set the `WM_CLASS` property for the given window.

xSetClassHint :: Display -> Window -> Ptr ClassHint -> IO () #

withdrawnState :: Int #

normalState :: Int #

iconicState :: Int #

inputHintBit :: Int #

stateHintBit :: Int #

iconPixmapHintBit :: Int #

iconWindowHintBit :: Int #

iconPositionHintBit :: Int #

iconMaskHintBit :: Int #

windowGroupHintBit :: Int #

urgencyHintBit :: Int #

allHintsBitmask :: CLong #

data WMHints #

Constructors

WMHints |

Fields

- wmh_flags :: CLong
- wmh_input :: Bool
- wmh_initial_state :: CInt
- wmh_icon_pixmap :: Pixmap
- wmh_icon_window :: Window
- wmh_icon_x :: CInt
- wmh_icon_y :: CInt
- wmh_icon_mask :: Pixmap
- wmh_window_group :: XID

#### Instances

Instances details

Storable WMHints # |
Instance details Defined in Graphics.X11.Xlib.Extras Methods sizeOf :: WMHints -> Int # alignment :: WMHints -> Int # peekElemOff :: Ptr WMHints -> Int -> IO WMHints # pokeElemOff :: Ptr WMHints -> Int -> WMHints -> IO () # peekByteOff :: Ptr b -> Int -> IO WMHints # pokeByteOff :: Ptr b -> Int -> WMHints -> IO () # peek :: Ptr WMHints -> IO WMHints # poke :: Ptr WMHints -> WMHints -> IO () #

xGetWMHints :: Display -> Window -> IO (Ptr WMHints) #

getWMHints :: Display -> Window -> IO WMHints #

xAllocWMHints :: IO (Ptr WMHints) #

xSetWMHints :: Display -> Window -> Ptr WMHints -> IO Status #

setWMHints :: Display -> Window -> WMHints -> IO Status #

isCursorKey :: KeySym -> Bool #

isFunctionKey :: KeySym -> Bool #

isKeypadKey :: KeySym -> Bool #

isMiscFunctionKey :: KeySym -> Bool #

isModifierKey :: KeySym -> Bool #

isPFKey :: KeySym -> Bool #

isPrivateKeypadKey :: KeySym -> Bool #

xSetSelectionOwner :: Display -> Atom -> Window -> Time -> IO () #

xGetSelectionOwner :: Display -> Atom -> IO Window #

xConvertSelection :: Display -> Atom -> Atom -> Atom -> Window -> Time -> IO () #

type XErrorEventPtr = Ptr () #

type CXErrorHandler = Display -> XErrorEventPtr -> IO CInt #

type XErrorHandler = Display -> XErrorEventPtr -> IO () #

data ErrorEvent #

Constructors

ErrorEvent |

Fields

- ev_type :: !CInt
- ev_display :: Display
- ev_serialnum :: !CULong
- ev_error_code :: !CUChar
- ev_request_code :: !CUChar
- ev_minor_code :: !CUChar
- ev_resourceid :: !XID

mkXErrorHandler :: CXErrorHandler -> IO (FunPtr CXErrorHandler) #

getXErrorHandler :: FunPtr CXErrorHandler -> CXErrorHandler #

_xSetErrorHandler :: FunPtr CXErrorHandler -> IO (FunPtr CXErrorHandler) #

setErrorHandler :: XErrorHandler -> IO () #

A binding to XSetErrorHandler. NOTE: This is pretty experimental because of safe vs. unsafe calls. I changed sync to a safe call, but there *might* be other calls that cause a problem

getErrorEvent :: XErrorEventPtr -> IO ErrorEvent #

Retrieves error event data from a pointer to an XErrorEvent and puts it into an ErrorEvent.

mapRaised :: Display -> Window -> IO CInt #

A binding to XMapRaised.

xGetCommand :: Display -> Window -> Ptr (Ptr CWString) -> Ptr CInt -> IO Status #

getCommand :: Display -> Window -> IO [String] #

xGetModifierMapping :: Display -> IO (Ptr ()) #

xFreeModifiermap :: Ptr () -> IO (Ptr CInt) #

getModifierMapping :: Display -> IO [(Modifier, [KeyCode])] #

xFree :: Ptr a -> IO CInt #