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 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 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 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 WindowAttributes #

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 # |
Instance details Defined in Graphics.X11.Xlib.Extras Methods sizeOf :: WindowAttributes -> Int alignment :: WindowAttributes -> Int peekElemOff :: Ptr WindowAttributes -> Int -> IO WindowAttributes pokeElemOff :: Ptr WindowAttributes -> Int -> WindowAttributes -> IO () peekByteOff :: Ptr b -> Int -> IO WindowAttributes pokeByteOff :: Ptr b -> Int -> WindowAttributes -> IO () peek :: Ptr WindowAttributes -> IO WindowAttributes poke :: Ptr WindowAttributes -> WindowAttributes -> IO ()

data Event #

Constructors

AnyEvent |
Fields ev_event_type :: !EventType ev_serial :: !CULong ev_send_event :: !Bool ev_event_display :: Display ev_window :: !Window
ConfigureRequestEvent |
Fields ev_event_type :: !EventType ev_serial :: !CULong ev_send_event :: !Bool ev_event_display :: Display ev_parent :: !Window ev_window :: !Window ev_x :: !CInt ev_y :: !CInt ev_width :: !CInt ev_height :: !CInt ev_border_width :: !CInt ev_above :: !Window ev_detail :: !NotifyDetail ev_value_mask :: !CULong
ConfigureEvent |
Fields ev_event_type :: !EventType ev_serial :: !CULong ev_send_event :: !Bool ev_event_display :: Display ev_event :: !Window ev_window :: !Window ev_x :: !CInt ev_y :: !CInt ev_width :: !CInt ev_height :: !CInt ev_border_width :: !CInt ev_above :: !Window ev_override_redirect :: !Bool
MapRequestEvent |
Fields ev_event_type :: !EventType ev_serial :: !CULong ev_send_event :: !Bool ev_event_display :: Display ev_parent :: !Window ev_window :: !Window
KeyEvent |
Fields ev_event_type :: !EventType ev_serial :: !CULong ev_send_event :: !Bool ev_event_display :: Display ev_window :: !Window ev_root :: !Window ev_subwindow :: !Window ev_time :: !Time ev_x :: !CInt ev_y :: !CInt ev_x_root :: !CInt ev_y_root :: !CInt ev_state :: !KeyMask ev_keycode :: !KeyCode ev_same_screen :: !Bool
ButtonEvent |
Fields ev_event_type :: !EventType ev_serial :: !CULong ev_send_event :: !Bool ev_event_display :: Display ev_window :: !Window ev_root :: !Window ev_subwindow :: !Window ev_time :: !Time ev_x :: !CInt ev_y :: !CInt ev_x_root :: !CInt ev_y_root :: !CInt ev_state :: !KeyMask ev_button :: !Button ev_same_screen :: !Bool
MotionEvent |
Fields ev_event_type :: !EventType ev_serial :: !CULong ev_send_event :: !Bool ev_event_display :: Display ev_x :: !CInt ev_y :: !CInt ev_window :: !Window
DestroyWindowEvent |
Fields ev_event_type :: !EventType ev_serial :: !CULong ev_send_event :: !Bool ev_event_display :: Display ev_event :: !Window ev_window :: !Window
UnmapEvent |
Fields ev_event_type :: !EventType ev_serial :: !CULong ev_send_event :: !Bool ev_event_display :: Display ev_event :: !Window ev_window :: !Window ev_from_configure :: !Bool
MapNotifyEvent |
Fields ev_event_type :: !EventType ev_serial :: !CULong ev_send_event :: !Bool ev_event_display :: Display ev_event :: !Window ev_window :: !Window ev_override_redirect :: !Bool
MappingNotifyEvent |
Fields ev_event_type :: !EventType ev_serial :: !CULong ev_send_event :: !Bool ev_event_display :: Display ev_window :: !Window ev_request :: !MappingRequest ev_first_keycode :: !KeyCode ev_count :: !CInt
CrossingEvent |
Fields ev_event_type :: !EventType ev_serial :: !CULong ev_send_event :: !Bool ev_event_display :: Display ev_window :: !Window ev_root :: !Window ev_subwindow :: !Window ev_time :: !Time ev_x :: !CInt ev_y :: !CInt ev_x_root :: !CInt ev_y_root :: !CInt ev_mode :: !NotifyMode ev_detail :: !NotifyDetail ev_same_screen :: !Bool ev_focus :: !Bool ev_state :: !Modifier
SelectionRequest |
Fields ev_event_type :: !EventType ev_serial :: !CULong ev_send_event :: !Bool ev_event_display :: Display ev_owner :: !Window ev_requestor :: !Window ev_selection :: !Atom ev_target :: !Atom ev_property :: !Atom ev_time :: !Time
SelectionClear |
Fields ev_event_type :: !EventType ev_serial :: !CULong ev_send_event :: !Bool ev_event_display :: Display ev_window :: !Window ev_selection :: !Atom ev_time :: !Time
PropertyEvent |
Fields ev_event_type :: !EventType ev_serial :: !CULong ev_send_event :: !Bool ev_event_display :: Display ev_window :: !Window ev_atom :: !Atom ev_time :: !Time ev_propstate :: !CInt
ExposeEvent |
Fields ev_event_type :: !EventType ev_serial :: !CULong ev_send_event :: !Bool ev_event_display :: Display ev_window :: !Window ev_x :: !CInt ev_y :: !CInt ev_width :: !CInt ev_height :: !CInt ev_count :: !CInt
FocusChangeEvent |
Fields ev_event_type :: !EventType ev_serial :: !CULong ev_send_event :: !Bool ev_event_display :: Display ev_window :: !Window ev_mode :: !NotifyMode ev_detail :: !NotifyDetail
ClientMessageEvent |
Fields ev_event_type :: !EventType ev_serial :: !CULong ev_send_event :: !Bool ev_event_display :: Display ev_window :: !Window ev_message_type :: !Atom ev_data :: ![CInt]
RRScreenChangeNotifyEvent |
Fields ev_event_type :: !EventType ev_serial :: !CULong ev_send_event :: !Bool ev_event_display :: Display ev_window :: !Window ev_root :: !Window ev_timestamp :: !Time ev_config_timestamp :: !Time ev_size_index :: !SizeID ev_subpixel_order :: !SubpixelOrder ev_rotation :: !Rotation ev_width :: !CInt ev_height :: !CInt ev_mwidth :: !CInt ev_mheight :: !CInt
RRNotifyEvent |
Fields ev_event_type :: !EventType ev_serial :: !CULong ev_send_event :: !Bool ev_event_display :: Display ev_window :: !Window ev_subtype :: !CInt
RRCrtcChangeNotifyEvent |
Fields ev_event_type :: !EventType ev_serial :: !CULong ev_send_event :: !Bool ev_event_display :: Display ev_window :: !Window ev_subtype :: !CInt ev_crtc :: !RRCrtc ev_rr_mode :: !RRMode ev_rotation :: !Rotation ev_x :: !CInt ev_y :: !CInt ev_rr_width :: !CUInt ev_rr_height :: !CUInt
RROutputChangeNotifyEvent |
Fields ev_event_type :: !EventType ev_serial :: !CULong ev_send_event :: !Bool ev_event_display :: Display ev_window :: !Window ev_subtype :: !CInt ev_output :: !RROutput ev_crtc :: !RRCrtc ev_rr_mode :: !RRMode ev_rotation :: !Rotation ev_connection :: !Connection ev_subpixel_order :: !SubpixelOrder
RROutputPropertyNotifyEvent |
Fields ev_event_type :: !EventType ev_serial :: !CULong ev_send_event :: !Bool ev_event_display :: Display ev_window :: !Window ev_subtype :: !CInt ev_output :: !RROutput ev_property :: !Atom ev_timestamp :: !Time ev_rr_state :: !CInt
ScreenSaverNotifyEvent |
Fields ev_event_type :: !EventType ev_serial :: !CULong ev_send_event :: !Bool ev_event_display :: Display ev_window :: !Window ev_root :: !Window ev_ss_state :: !XScreenSaverState ev_ss_kind :: !XScreenSaverKind ev_forced :: !Bool ev_time :: !Time

#### Instances

Instances details

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

data WindowChanges #

Constructors

WindowChanges |
Fields wc_x :: CInt wc_y :: CInt wc_width :: CInt wc_height :: CInt wc_border_width :: CInt wc_sibling :: Window wc_stack_mode :: CInt

#### Instances

Instances details

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

data TextProperty #

Constructors

TextProperty |
Fields tp_value :: CString tp_encoding :: Atom tp_format :: CInt tp_nitems :: Word64

#### Instances

Instances details

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

newtype FontSet #

Constructors

FontSet (Ptr FontSet) |

#### Instances

Instances details

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

data SizeHints #

Constructors

SizeHints |
Fields sh_min_size :: Maybe (Dimension, Dimension) sh_max_size :: Maybe (Dimension, Dimension) sh_resize_inc :: Maybe (Dimension, Dimension) sh_aspect :: Maybe ((Dimension, Dimension), (Dimension, Dimension)) sh_base_size :: Maybe (Dimension, Dimension) sh_win_gravity :: Maybe BitGravity

#### Instances

Instances details

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

data ClassHint #

Constructors

ClassHint |
Fields resName :: String resClass :: String

data WMHints #

Constructors

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

#### Instances

Instances details

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

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

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

refreshKeyboardMapping :: Event -> IO () #

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

xRefreshKeyboardMapping :: Ptr () -> IO CInt #

xSetErrorHandler :: IO () #

eventTable :: [(EventType, String)] #

eventName :: Event -> String #

getEvent :: XEventPtr -> IO Event #

none :: XID #

anyButton :: Button #

anyKey :: KeyCode #

currentTime :: Time #

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

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

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

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

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

waIsUnmapped :: CInt #

waIsUnviewable :: CInt #

waIsViewable :: CInt #

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

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

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

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

Run an action with the server

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

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

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

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

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

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

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

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

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

anyPropertyType :: Atom #

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

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

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

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

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

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

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

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

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

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

propModeReplace :: CInt #

propModePrepend :: CInt #

propModeAppend :: CInt #

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

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

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

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

Set the `WM_CLASS` property for the given window.

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

withdrawnState :: Int #

normalState :: Int #

iconicState :: Int #

inputHintBit :: Int #

stateHintBit :: Int #

iconPixmapHintBit :: Int #

iconWindowHintBit :: Int #

iconPositionHintBit :: Int #

iconMaskHintBit :: Int #

windowGroupHintBit :: Int #

urgencyHintBit :: Int #

allHintsBitmask :: CLong #

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

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 #