API

XCB.ConnectionType

Connection to the X server.

mutable struct Connection <: XCB.Handle
  • h::Any

    Opaque handle to the connection, used for API calls.

source
XCB.ConnectionMethod

Initialize a connection to the X server.

Connection(; display) -> Connection
source
XCB.ConnectionErrorType

The X Server reported a connection error.

struct ConnectionError <: Exception
  • msg::Any

  • code::Any

source
XCB.FlushErrorType

Error when flushing a connection to the X Server.

struct FlushError <: Exception
  • code::Any
source
XCB.GraphicsContextType

Graphics context attached to a window. Used to register drawing commands on the window surface.

mutable struct GraphicsContext
  • conn::Any

  • id::Any

  • window::Any

  • mask::Any

  • value_list::Any

source
XCB.HandleType

Structures which contain a handle (opaque pointer) as primary data. Those structures are usually defined as mutable so that a finalizer can be registered. Any Handle structure is automatically converted to its handle data on ccalls, through unsafe_convert.

abstract type Handle
source
XCB.RequestErrorType

A request to the X Server returned with an error.

struct RequestError <: Exception
  • msg::Any
source
XCB.SetupType

Connection setup handle and data.

struct Setup <: XCB.Handle
  • h::Any

    Handle to the setup, used for API calls.

  • value::XCB.Libxcb.xcb_setup_t

    Setup value, obtained when dereferencing its handle.

source
XCB.XCBWindowType

Window type used with the XCB API.

mutable struct XCBWindow <: WindowAbstractions.AbstractWindow
  • conn::Connection

  • id::Any

  • parent_id::Any

  • visual_id::Any

  • class::Any

  • depth::Any

  • mask::Any

  • value_list::Any

  • ctx::Any

  • delete_request::Any

source
Base.runMethod

Run an EventLoop attached to a XWindowHandler instance.

run(event_loop::WindowAbstractions.EventLoop{XWindowHandler}, ::WindowAbstractions.Synchronous; warn_unknown, poll, kwargs...)
source
XCB.checkMethod

Check that the connection to the X server was successful. Throws a ConnectionError if the connection failed.

check(connection::Connection) -> Connection
source
XCB.check_requestMethod

Check that the request was successfully handled by the server, throwing a RequestError if the request failed.

check_request(conn::Any, request::Any; raise)
source
XCB.@checkMacro

Check the value returned by the function call request with check_request.

Wraps request with check_request. The Connection argument is taken as the first argument of the function call expression request. The request is transformed to be checkable, through the functions xcb*checked (or xcb* if there exists a xcb*_unchecked version). If no checkable substitute is found, an ArgumentError is raised.

TODO: @macroexpand example

source
XCB.@flushMacro

Flush a connection attached to a request expr.

The connection is taken to be the first argument of expr. expr can be a call to XCB.@check.

Examples

julia> @macroexpand @flush xcb_unmap_window(win.conn, win.id)
quote
    xcb_unmap_window(win.conn, win.id)
    (flush)(win.conn)
end
source