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, wa_y, wa_width, wa_height, 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
  }
- 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
  }
- data TextProperty = TextProperty {
  - tp_value :: CString
  - tp_encoding :: Atom
  - tp_format :: CInt
  - tp_nitems :: Word64
  }
- newtype FontSet = FontSet (Ptr FontSet)
- 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
  }
- data ClassHint = ClassHint {
  - resName :: String
  - resClass :: String
  }
- 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
  }
- 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
  }
- getWindowAttributes :: Display -> Window -> IO WindowAttributes
- refreshKeyboardMapping :: Event -> IO ()
- xRefreshKeyboardMapping :: Ptr () -> IO CInt
- xSetErrorHandler :: IO ()
- eventTable :: [(EventType, String)]
- eventName :: Event -> String
- getEvent :: XEventPtr -> IO Event
- 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 ()
- 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 ()
- 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 ()
- 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 ()
- 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
- 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 ()
- 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

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 Source # |
Instance details Defined in Graphics.X11.Xlib.Extras Methods showsPrec :: Int -> Event -> ShowS Source # show :: Event -> String Source # showList :: [Event] -> ShowS Source #

data WindowAttributes Source #

Constructors

WindowAttributes |

Fields

- wa_x, wa_y, wa_width, wa_height, 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 Source # |

Instance details

Defined in Graphics.X11.Xlib.Extras

Methods

sizeOf :: WindowAttributes -> Int Source #

alignment :: WindowAttributes -> Int Source #

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

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

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

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

peek :: Ptr WindowAttributes -> IO WindowAttributes Source #

poke :: Ptr WindowAttributes -> WindowAttributes -> IO () 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

Instances details

Storable WindowChanges Source # |

Instance details

Defined in Graphics.X11.Xlib.Extras

Methods

sizeOf :: WindowChanges -> Int Source #

alignment :: WindowChanges -> Int Source #

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

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

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

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

peek :: Ptr WindowChanges -> IO WindowChanges Source #

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

data TextProperty Source #

Constructors

TextProperty |

Fields

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

#### Instances

Instances details

Storable TextProperty Source # |

Instance details

Defined in Graphics.X11.Xlib.Extras

Methods

sizeOf :: TextProperty -> Int Source #

alignment :: TextProperty -> Int Source #

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

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

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

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

peek :: Ptr TextProperty -> IO TextProperty Source #

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

newtype FontSet Source #

Constructors

FontSet (Ptr FontSet) |

#### Instances

Instances details

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

Instances details

Storable SizeHints Source # |

Instance details

Defined in Graphics.X11.Xlib.Extras

Methods

sizeOf :: SizeHints -> Int Source #

alignment :: SizeHints -> Int Source #

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

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

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

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

peek :: Ptr SizeHints -> IO SizeHints Source #

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

data ClassHint Source #

Constructors

ClassHint |

Fields

- resName :: String
- resClass :: String

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

Instances details

Storable WMHints Source # |

Instance details

Defined in Graphics.X11.Xlib.Extras

Methods

sizeOf :: WMHints -> Int Source #

alignment :: WMHints -> Int Source #

peekElemOff :: Ptr WMHints -> Int -> IO WMHints Source #

pokeElemOff :: Ptr WMHints -> Int -> WMHints -> IO () Source #

peekByteOff :: Ptr b -> Int -> IO WMHints Source #

pokeByteOff :: Ptr b -> Int -> WMHints -> IO () Source #

peek :: Ptr WMHints -> IO WMHints Source #

poke :: Ptr WMHints -> WMHints -> 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

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

refreshKeyboardMapping :: Event -> IO () Source #

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

xRefreshKeyboardMapping :: Ptr () -> IO CInt Source #

xSetErrorHandler :: IO () Source #

eventTable :: [(EventType, String)] Source #

eventName :: Event -> String Source #

getEvent :: XEventPtr -> IO Event 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 #

waIsUnmapped :: CInt Source #

waIsUnviewable :: CInt Source #

waIsViewable :: CInt Source #

xGetWindowAttributes :: Display -> Window -> Ptr WindowAttributes -> IO Status 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

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 #

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 #

setClientMessageEvent' :: XEventPtr -> Window -> Atom -> CInt -> [CInt] -> 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 #

anyPropertyType :: Atom Source #

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

xDeleteProperty :: Display -> Window -> Atom -> 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 #

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

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

unmapWindow :: Display -> Window -> IO () 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 #

xAllocSizeHints :: IO (Ptr SizeHints) Source #

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

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

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

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

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

Set the `WM_CLASS` property for the given window.

xSetClassHint :: Display -> Window -> Ptr ClassHint -> IO () 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 #

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 #

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 #