X11-1.6.1.1: A binding to the X11 graphics library

Stability | experimental
Safe Haskell | None

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
    }
  - | 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
    }
  - | 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
    }
- 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])
- data WindowAttributes = WindowAttributes {
  - wa_x :: CInt
  - wa_y :: CInt
  - wa_width :: CInt
  - wa_height :: CInt
  - wa_border_width :: CInt
  - wa_map_state :: CInt
  - wa_override_redirect :: Bool
  }
- waIsUnmapped :: CInt
- waIsViewable :: CInt
- waIsUnviewable :: CInt
- xGetWindowAttributes :: Display -> Window -> Ptr WindowAttributes -> IO Status
- getWindowAttributes :: Display -> Window -> IO WindowAttributes
- 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 :: Word32
  }
- 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 ()
- setConfigureEvent :: XEventPtr -> Window -> Window -> CInt -> CInt -> CInt -> CInt -> CInt -> Window -> Bool -> IO ()
- setKeyEvent :: XEventPtr -> Window -> Window -> Window -> KeyMask -> KeyCode -> Bool -> IO ()
- xSetErrorHandler :: IO ()
- refreshKeyboardMapping :: Event -> IO ()
- xRefreshKeyboardMapping :: Ptr () -> IO CInt
- anyPropertyType :: Atom
- xChangeProperty :: Display -> Window -> Atom -> Atom -> CInt -> CInt -> Ptr CUChar -> CInt -> 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
- propModeAppend :: CInt
- propModePrepend :: CInt
- 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
- pWinGravityBit :: Int
- pBaseSizeBit :: Int
- pAspectBit :: Int
- pResizeIncBit :: Int
- pMaxSizeBit :: Int
- xGetWMNormalHints :: Display -> Window -> Ptr SizeHints -> Ptr CLong -> IO Status
- getWMNormalHints :: Display -> Window -> IO SizeHints
- data ClassHint = ClassHint {
  - resName :: String
  - resClass :: String
  }
- getClassHint :: Display -> Window -> IO ClassHint
- xGetClassHint :: Display -> Window -> Ptr ClassHint -> IO Status
- withdrawnState :: Int
- iconicState :: Int
- normalState :: Int
- inputHintBit :: Int
- urgencyHintBit :: Int
- windowGroupHintBit :: Int
- iconMaskHintBit :: Int
- iconPositionHintBit :: Int
- iconWindowHintBit :: Int
- iconPixmapHintBit :: Int
- stateHintBit :: 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

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

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

Instances

Show Event |
Typeable Event |

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

Storable WindowChanges |

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])

data WindowAttributes

Constructors

WindowAttributes |

Fields

wa_x :: CInt
wa_y :: CInt
wa_width :: CInt
wa_height :: CInt
wa_border_width :: CInt
wa_map_state :: CInt
wa_override_redirect :: Bool

Instances

Storable WindowAttributes |

waIsUnmapped :: CInt

waIsViewable :: CInt

waIsUnviewable :: CInt

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

getWindowAttributes :: Display -> Window -> IO WindowAttributes

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 :: Word32

Instances

Storable TextProperty |

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

Eq FontSet |
Ord FontSet |
Show 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 ()

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

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

xSetErrorHandler :: IO ()

refreshKeyboardMapping :: Event -> IO ()

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

xRefreshKeyboardMapping :: Ptr () -> IO CInt

anyPropertyType :: Atom

xChangeProperty :: Display -> Window -> Atom -> Atom -> CInt -> CInt -> Ptr CUChar -> CInt -> 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

propModeAppend :: CInt

propModePrepend :: CInt

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

Storable SizeHints |

pMinSizeBit :: Int

pWinGravityBit :: Int

pBaseSizeBit :: Int

pAspectBit :: Int

pResizeIncBit :: Int

pMaxSizeBit :: Int

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

getWMNormalHints :: Display -> Window -> IO SizeHints

data ClassHint

Constructors

ClassHint |

Fields

resName :: String
resClass :: String

getClassHint :: Display -> Window -> IO ClassHint

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

withdrawnState :: Int

iconicState :: Int

normalState :: Int

inputHintBit :: Int

urgencyHintBit :: Int

windowGroupHintBit :: Int

iconMaskHintBit :: Int

iconPositionHintBit :: Int

iconWindowHintBit :: Int

iconPixmapHintBit :: Int

stateHintBit :: 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

Storable WMHints |

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