Graphics.X11.Xlib.Extras

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

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 |

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, wa_y, wa_width, wa_height, wa_border_width :: CInt wa_map_state :: CInt wa_override_redirect :: Bool

Instances

Storable WindowAttributes |

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

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

propModePrepend :: CInt

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

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

Constructors

ClassHint |
Fields 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

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