| X11-1.5.0.0: A binding to the X11 graphics library | Source code | Contents | Index

Graphics.X11.Xlib.Extras

Stability | experimental

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]

}

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 ()
xFree :: Ptr a -> IO CInt
xQueryTree :: Display -> Window -> Ptr Window -> Ptr Window -> Ptr (Ptr Window) -> Ptr CInt -> IO Status
queryTree :: Display -> Window -> IO (Window, Window, [Window])

data WindowAttributes = WindowAttributes {

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

}

waIsUnviewable :: CInt
waIsViewable :: CInt
waIsUnmapped :: 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 ()
propModePrepend :: CInt
propModeAppend :: CInt
propModeReplace :: 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

}

pMaxSizeBit :: Int
pResizeIncBit :: Int
pAspectBit :: Int
pBaseSizeBit :: Int
pWinGravityBit :: Int
pMinSizeBit :: 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
normalState :: Int
iconicState :: Int
withdrawnState :: Int
stateHintBit :: Int
iconPixmapHintBit :: Int
iconWindowHintBit :: Int
iconPositionHintBit :: Int
iconMaskHintBit :: Int
windowGroupHintBit :: Int
urgencyHintBit :: Int
inputHintBit :: 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])]

Documentation

data Event | Source

Constructors

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

Instances

Show Event
Typeable Event

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

eventName :: Event -> String | Source

getEvent :: XEventPtr -> IO Event | Source

data WindowChanges | Source

Constructors

WindowChanges |

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

xFree :: Ptr a -> IO CInt | Source

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

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

data WindowAttributes | Source

Constructors

WindowAttributes |

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

Instances

Storable WindowAttributes

waIsUnviewable :: CInt | Source

waIsViewable :: CInt | Source

waIsUnmapped :: CInt | Source

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

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

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

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

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

Run an action with the server

data TextProperty | Source

Constructors

TextProperty |

tp_value :: CString |
tp_encoding :: Atom |
tp_format :: CInt |
tp_nitems :: Word32 |

Instances

Storable TextProperty

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

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

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

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

wcFreeStringList :: Ptr CWString -> IO () | Source

newtype FontSet | Source

Constructors

FontSet (Ptr FontSet) |

Instances

Eq FontSet
Ord FontSet
Show FontSet

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

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

freeStringList :: Ptr CString -> IO () | Source

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

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

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

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

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

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

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

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

wcTextEscapement :: FontSet -> String -> Int32 | Source

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

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

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

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

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

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

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

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

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

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

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

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

xSetErrorHandler :: IO () | Source

refreshKeyboardMapping :: Event -> IO () | Source

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

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

anyPropertyType :: Atom | Source

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

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

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

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

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

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

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

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

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

propModePrepend :: CInt | Source

propModeAppend :: CInt | Source

propModeReplace :: CInt | Source

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

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

data SizeHints | Source

Constructors

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 |

Instances

Storable SizeHints

pMaxSizeBit :: Int | Source

pResizeIncBit :: Int | Source

pAspectBit :: Int | Source

pBaseSizeBit :: Int | Source

pWinGravityBit :: Int | Source

pMinSizeBit :: Int | Source

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

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

data ClassHint | Source

Constructors

ClassHint |

resName :: String |
resClass :: String |

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

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

normalState :: Int | Source

iconicState :: Int | Source

withdrawnState :: Int | Source

stateHintBit :: Int | Source

iconPixmapHintBit :: Int | Source

iconWindowHintBit :: Int | Source

iconPositionHintBit :: Int | Source

iconMaskHintBit :: Int | Source

windowGroupHintBit :: Int | Source

urgencyHintBit :: Int | Source

inputHintBit :: Int | Source

allHintsBitmask :: CLong | Source

data WMHints | Source

Constructors

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 |

Instances

Storable WMHints

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

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

xAllocWMHints :: IO (Ptr WMHints) | Source

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

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

isCursorKey :: KeySym -> Bool | Source

isFunctionKey :: KeySym -> Bool | Source

isKeypadKey :: KeySym -> Bool | Source

isMiscFunctionKey :: KeySym -> Bool | Source

isModifierKey :: KeySym -> Bool | Source

isPFKey :: KeySym -> Bool | Source

isPrivateKeypadKey :: KeySym -> Bool | Source

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

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

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

type XErrorEventPtr = Ptr () | Source

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

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

data ErrorEvent | Source

Constructors

ErrorEvent |

ev_type :: !CInt |
ev_display :: Display |
ev_serialnum :: !CULong |
ev_error_code :: !CUChar |
ev_request_code :: !CUChar |
ev_minor_code :: !CUChar |
ev_resourceid :: !XID |

mkXErrorHandler :: CXErrorHandler -> IO (FunPtr CXErrorHandler) | Source

getXErrorHandler :: FunPtr CXErrorHandler -> CXErrorHandler | Source

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

setErrorHandler :: XErrorHandler -> IO () | Source

A binding to XSetErrorHandler. NOTE: This is pretty experimental because of safe vs. unsafe calls. I changed sync to a safe call, but there *might* be other calls that cause a problem

getErrorEvent :: XErrorEventPtr -> IO ErrorEvent | Source

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

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

A binding to XMapRaised.

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

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

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

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

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

Produced by Haddock version 2.4.2