X11-1.10.3: A binding to the X11 graphics library
Copyright(c) Alastair Reid 1999-2003
LicenseBSD-style (see the file libraries/base/LICENSE)
Maintainerlibraries@haskell.org
Stabilityprovisional
Portabilityportable
Safe HaskellSafe-Inferred
LanguageHaskell98

Graphics.X11.Xlib

Description

A collection of FFI declarations for interfacing with Xlib.

The library aims to provide a direct translation of the X binding into Haskell so the most important documentation you should read is The Xlib Programming Manual, available online at http://tronche.com/gui/x/xlib/. Let me say that again because it is very important. Get hold of this documentation and read it: it tells you almost everything you need to know to use this library.

Synopsis

Conventions

In translating the library, we had to change names to conform with Haskell's lexical syntax: function names and names of constants must start with a lowercase letter; type names must start with an uppercase letter. The case of the remaining letters is unchanged.

In addition, we chose to take advantage of Haskell's module system to allow us to drop common prefixes (X, XA_, etc.) attached to X11 identifiers.

We named enumeration types so that function types would be easier to understand. For example, we added Status, WindowClass, etc. Note that the types are synonyms for Int so no extra typesafety was obtained.

We consistently raise exceptions when a function returns an error code. In practice, this only affects the following functions because most Xlib functions do not return error codes: allocColor, allocNamedColor, fetchBuffer, fetchBytes, fontFromGC, getGeometry, getIconName, iconifyWindow, loadQueryFont, lookupColor, openDisplay, parseColor, queryBestCursor, queryBestSize, queryBestStipple, queryBestTile, rotateBuffers, selectInput, storeBuffer, storeBytes, withdrawWindow.

Types

newtype Display Source #

pointer to an X11 Display structure

Constructors

Display (Ptr Display) 

Instances

Instances details
Data Display Source # 
Instance details

Defined in Graphics.X11.Xlib.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Display -> c Display Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Display Source #

toConstr :: Display -> Constr Source #

dataTypeOf :: Display -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Display) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Display) Source #

gmapT :: (forall b. Data b => b -> b) -> Display -> Display Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Display -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Display -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> Display -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Display -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Display -> m Display Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Display -> m Display Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Display -> m Display Source #

Show Display Source # 
Instance details

Defined in Graphics.X11.Xlib.Types

Eq Display Source # 
Instance details

Defined in Graphics.X11.Xlib.Types

Ord Display Source # 
Instance details

Defined in Graphics.X11.Xlib.Types

data Screen Source #

pointer to an X11 Screen structure

Instances

Instances details
Data Screen Source # 
Instance details

Defined in Graphics.X11.Xlib.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Screen -> c Screen Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Screen Source #

toConstr :: Screen -> Constr Source #

dataTypeOf :: Screen -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Screen) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Screen) Source #

gmapT :: (forall b. Data b => b -> b) -> Screen -> Screen Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Screen -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Screen -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> Screen -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Screen -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Screen -> m Screen Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Screen -> m Screen Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Screen -> m Screen Source #

Show Screen Source # 
Instance details

Defined in Graphics.X11.Xlib.Types

Eq Screen Source # 
Instance details

Defined in Graphics.X11.Xlib.Types

Ord Screen Source # 
Instance details

Defined in Graphics.X11.Xlib.Types

data Visual Source #

pointer to an X11 Visual structure

Instances

Instances details
Data Visual Source # 
Instance details

Defined in Graphics.X11.Xlib.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Visual -> c Visual Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Visual Source #

toConstr :: Visual -> Constr Source #

dataTypeOf :: Visual -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Visual) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Visual) Source #

gmapT :: (forall b. Data b => b -> b) -> Visual -> Visual Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Visual -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Visual -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> Visual -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Visual -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Visual -> m Visual Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Visual -> m Visual Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Visual -> m Visual Source #

Show Visual Source # 
Instance details

Defined in Graphics.X11.Xlib.Types

Eq Visual Source # 
Instance details

Defined in Graphics.X11.Xlib.Types

Ord Visual Source # 
Instance details

Defined in Graphics.X11.Xlib.Types

data GC Source #

pointer to an X11 GC structure

Instances

Instances details
Data GC Source # 
Instance details

Defined in Graphics.X11.Xlib.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> GC -> c GC Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c GC Source #

toConstr :: GC -> Constr Source #

dataTypeOf :: GC -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c GC) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c GC) Source #

gmapT :: (forall b. Data b => b -> b) -> GC -> GC Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> GC -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> GC -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> GC -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> GC -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> GC -> m GC Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> GC -> m GC Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> GC -> m GC Source #

Show GC Source # 
Instance details

Defined in Graphics.X11.Xlib.Types

Eq GC Source # 
Instance details

Defined in Graphics.X11.Xlib.Types

Methods

(==) :: GC -> GC -> Bool Source #

(/=) :: GC -> GC -> Bool Source #

Ord GC Source # 
Instance details

Defined in Graphics.X11.Xlib.Types

Methods

compare :: GC -> GC -> Ordering Source #

(<) :: GC -> GC -> Bool Source #

(<=) :: GC -> GC -> Bool Source #

(>) :: GC -> GC -> Bool Source #

(>=) :: GC -> GC -> Bool Source #

max :: GC -> GC -> GC Source #

min :: GC -> GC -> GC Source #

data SetWindowAttributes Source #

pointer to an X11 XSetWindowAttributes structure

Instances

Instances details
Data SetWindowAttributes Source # 
Instance details

Defined in Graphics.X11.Xlib.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SetWindowAttributes -> c SetWindowAttributes Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SetWindowAttributes Source #

toConstr :: SetWindowAttributes -> Constr Source #

dataTypeOf :: SetWindowAttributes -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SetWindowAttributes) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SetWindowAttributes) Source #

gmapT :: (forall b. Data b => b -> b) -> SetWindowAttributes -> SetWindowAttributes Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SetWindowAttributes -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SetWindowAttributes -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> SetWindowAttributes -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SetWindowAttributes -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SetWindowAttributes -> m SetWindowAttributes Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SetWindowAttributes -> m SetWindowAttributes Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SetWindowAttributes -> m SetWindowAttributes Source #

Show SetWindowAttributes Source # 
Instance details

Defined in Graphics.X11.Xlib.Types

Eq SetWindowAttributes Source # 
Instance details

Defined in Graphics.X11.Xlib.Types

Ord SetWindowAttributes Source # 
Instance details

Defined in Graphics.X11.Xlib.Types

data Point Source #

counterpart of an X11 XPoint structure

Constructors

Point 

Fields

Instances

Instances details
Data Point Source # 
Instance details

Defined in Graphics.X11.Xlib.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Point -> c Point Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Point Source #

toConstr :: Point -> Constr Source #

dataTypeOf :: Point -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Point) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Point) Source #

gmapT :: (forall b. Data b => b -> b) -> Point -> Point Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Point -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Point -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> Point -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Point -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Point -> m Point Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Point -> m Point Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Point -> m Point Source #

Storable Point Source # 
Instance details

Defined in Graphics.X11.Xlib.Types

Show Point Source # 
Instance details

Defined in Graphics.X11.Xlib.Types

Eq Point Source # 
Instance details

Defined in Graphics.X11.Xlib.Types

Methods

(==) :: Point -> Point -> Bool Source #

(/=) :: Point -> Point -> Bool Source #

data Rectangle Source #

counterpart of an X11 XRectangle structure

Instances

Instances details
Data Rectangle Source # 
Instance details

Defined in Graphics.X11.Xlib.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Rectangle -> c Rectangle Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Rectangle Source #

toConstr :: Rectangle -> Constr Source #

dataTypeOf :: Rectangle -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Rectangle) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Rectangle) Source #

gmapT :: (forall b. Data b => b -> b) -> Rectangle -> Rectangle Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Rectangle -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Rectangle -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> Rectangle -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Rectangle -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Rectangle -> m Rectangle Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Rectangle -> m Rectangle Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Rectangle -> m Rectangle Source #

Storable Rectangle Source # 
Instance details

Defined in Graphics.X11.Xlib.Types

Read Rectangle Source # 
Instance details

Defined in Graphics.X11.Xlib.Types

Show Rectangle Source # 
Instance details

Defined in Graphics.X11.Xlib.Types

Eq Rectangle Source # 
Instance details

Defined in Graphics.X11.Xlib.Types

data Arc Source #

counterpart of an X11 XArc structure

Instances

Instances details
Storable Arc Source # 
Instance details

Defined in Graphics.X11.Xlib.Types

Show Arc Source # 
Instance details

Defined in Graphics.X11.Xlib.Types

Eq Arc Source # 
Instance details

Defined in Graphics.X11.Xlib.Types

Methods

(==) :: Arc -> Arc -> Bool Source #

(/=) :: Arc -> Arc -> Bool Source #

data Segment Source #

counterpart of an X11 XSegment structure

Constructors

Segment 

Instances

Instances details
Data Segment Source # 
Instance details

Defined in Graphics.X11.Xlib.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Segment -> c Segment Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Segment Source #

toConstr :: Segment -> Constr Source #

dataTypeOf :: Segment -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Segment) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Segment) Source #

gmapT :: (forall b. Data b => b -> b) -> Segment -> Segment Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Segment -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Segment -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> Segment -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Segment -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Segment -> m Segment Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Segment -> m Segment Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Segment -> m Segment Source #

Storable Segment Source # 
Instance details

Defined in Graphics.X11.Xlib.Types

Show Segment Source # 
Instance details

Defined in Graphics.X11.Xlib.Types

Eq Segment Source # 
Instance details

Defined in Graphics.X11.Xlib.Types

data Color Source #

counterpart of an X11 XColor structure

Instances

Instances details
Data Color Source # 
Instance details

Defined in Graphics.X11.Xlib.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Color -> c Color Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Color Source #

toConstr :: Color -> Constr Source #

dataTypeOf :: Color -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Color) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Color) Source #

gmapT :: (forall b. Data b => b -> b) -> Color -> Color Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Color -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Color -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> Color -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Color -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Color -> m Color Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Color -> m Color Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Color -> m Color Source #

Storable Color Source # 
Instance details

Defined in Graphics.X11.Xlib.Types

Show Color Source # 
Instance details

Defined in Graphics.X11.Xlib.Types

Eq Color Source # 
Instance details

Defined in Graphics.X11.Xlib.Types

Methods

(==) :: Color -> Color -> Bool Source #

(/=) :: Color -> Color -> Bool Source #

X11 library functions