X11- A binding to the X11 graphics library





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.



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.


data Display Source

pointer to an X11 Display structure

data Screen Source

pointer to an X11 Screen structure

data Visual Source

pointer to an X11 Visual structure

data GC Source

pointer to an X11 GC structure


data Point Source

counterpart of an X11 XPoint structure




pt_x :: !Position
pt_y :: !Position

data Rectangle Source

counterpart of an X11 XRectangle structure

data Arc Source

counterpart of an X11 XArc structure

data Segment Source

counterpart of an X11 XSegment structure



data Color Source

counterpart of an X11 XColor structure

X11 library functions