X11-1.6.1.2: 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
    }
  - | 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, wa_y, wa_width, wa_height, wa_border_width :: CInt
  - wa_map_state :: CInt
  - wa_override_redirect :: Bool
  }
- waIsUnmapped :: CInt
- waIsUnviewable :: CInt
- waIsViewable :: 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 :: 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 ()
- 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
- propModePrepend :: CInt
- propModeAppend :: 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
- pMaxSizeBit :: Int
- pResizeIncBit :: Int
- pAspectBit :: Int
- pBaseSizeBit :: Int
- pWinGravityBit :: 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
- 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 Source

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 Source |

eventTable :: [(EventType, String)] Source

eventName :: Event -> String Source

getEvent :: XEventPtr -> IO Event Source

data WindowChanges Source

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 Source |

none :: XID Source

anyButton :: Button Source

anyKey :: KeyCode Source

currentTime :: Time Source

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

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

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

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

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

data WindowAttributes Source

Constructors

WindowAttributes |

Fields

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

Instances

Storable WindowAttributes Source |

waIsUnmapped :: CInt Source

waIsUnviewable :: CInt Source

waIsViewable :: CInt Source

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

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

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

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

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

Run an action with the server

data TextProperty Source

Constructors

TextProperty |

Fields

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

Instances

Storable TextProperty Source |

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

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

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

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

wcFreeStringList :: Ptr CWString -> IO () Source

newtype FontSet Source

Constructors

FontSet (Ptr FontSet) |

Instances

Eq FontSet Source |
Ord FontSet Source |
Show FontSet Source |

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

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

freeStringList :: Ptr CString -> IO () Source

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

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

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

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

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

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

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

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

wcTextEscapement :: FontSet -> String -> Int32 Source

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

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

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

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

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

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 Source

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

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

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

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

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

xSetErrorHandler :: IO () Source

refreshKeyboardMapping :: Event -> IO () Source

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

xRefreshKeyboardMapping :: Ptr () -> IO CInt Source

anyPropertyType :: Atom Source

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

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

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

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

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

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

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

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

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

propModeReplace :: CInt Source

propModePrepend :: CInt Source

propModeAppend :: CInt Source

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

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

data SizeHints Source

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 Source |

pMinSizeBit :: Int Source

pMaxSizeBit :: Int Source

pResizeIncBit :: Int Source

pAspectBit :: Int Source

pBaseSizeBit :: Int Source

pWinGravityBit :: Int Source

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

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

data ClassHint Source

Constructors

ClassHint |

Fields

resName :: String
resClass :: String

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

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

withdrawnState :: Int Source

normalState :: Int Source

iconicState :: Int Source

inputHintBit :: Int Source

stateHintBit :: Int Source

iconPixmapHintBit :: Int Source

iconWindowHintBit :: Int Source

iconPositionHintBit :: Int Source

iconMaskHintBit :: Int Source

windowGroupHintBit :: Int Source

urgencyHintBit :: Int Source

allHintsBitmask :: CLong Source

data WMHints Source

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 Source |

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

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

xAllocWMHints :: IO (Ptr WMHints) Source

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

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

isCursorKey :: KeySym -> Bool Source

isFunctionKey :: KeySym -> Bool Source

isKeypadKey :: KeySym -> Bool Source

isMiscFunctionKey :: KeySym -> Bool Source

isModifierKey :: KeySym -> Bool Source

isPFKey :: KeySym -> Bool Source

isPrivateKeypadKey :: KeySym -> Bool Source

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

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

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

type XErrorEventPtr = Ptr () Source

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

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

data ErrorEvent Source

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

getXErrorHandler :: FunPtr CXErrorHandler -> CXErrorHandler Source

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

setErrorHandler :: XErrorHandler -> IO () Source

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 Source

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

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

A binding to XMapRaised.

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

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

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

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

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

xFree :: Ptr a -> IO CInt Source