API
XCB.keysym_names_translation
WindowAbstractions.KeySymbol
WindowAbstractions.KeySymbol
XCB.Connection
XCB.Connection
XCB.ConnectionError
XCB.FlushError
XCB.GraphicsContext
XCB.Handle
XCB.RequestError
XCB.Setup
XCB.XCBWindow
Base.run
XCB.check
XCB.check_flush
XCB.check_request
XCB.keysym_name_to_keysymbol
XCB.@check
XCB.@flush
XCB.keysym_names_translation
— ConstantTranslation Dict
from a keysym obtained via XCB to a standard key name defined in WindowAbstractions
.
WindowAbstractions.KeySymbol
— MethodGet a KeySymbol
from a physical key name.
KeySymbol(km::XCB.Keymap, key_name::Any) -> WindowAbstractions.KeySymbol
WindowAbstractions.KeySymbol
— MethodGet a KeySymbol
from a keycode.
KeySymbol(km::XCB.Keymap, keycode::Integer) -> WindowAbstractions.KeySymbol
XCB.Connection
— TypeConnection to the X server.
mutable struct Connection <: XCB.Handle
h::Any
Opaque handle to the connection, used for API calls.
XCB.Connection
— MethodInitialize a connection to the X server.
Connection(; display) -> Connection
XCB.ConnectionError
— TypeThe X Server reported a connection error.
struct ConnectionError <: Exception
msg::Any
code::Any
XCB.FlushError
— TypeError when flushing a connection to the X Server.
struct FlushError <: Exception
code::Any
XCB.GraphicsContext
— TypeGraphics 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
XCB.Handle
— TypeStructures 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 ccall
s, through unsafe_convert
.
abstract type Handle
XCB.RequestError
— TypeA request to the X Server returned with an error.
struct RequestError <: Exception
msg::Any
XCB.Setup
— TypeConnection 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.
XCB.XCBWindow
— TypeWindow 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
Base.run
— MethodRun an EventLoop
attached to a XWindowHandler
instance.
run(event_loop::WindowAbstractions.EventLoop{XWindowHandler}, ::WindowAbstractions.Synchronous; warn_unknown, poll, kwargs...)
XCB.check
— MethodCheck that the connection to the X server was successful. Throws a ConnectionError
if the connection failed.
check(connection::Connection) -> Connection
XCB.check_flush
— MethodCheck that the flush was successful, throwing a FlushError
if the code is negative.
check_flush(code::Any)
XCB.check_request
— MethodCheck that the request was successfully handled by the server, throwing a RequestError
if the request failed.
check_request(conn::Any, request::Any; raise)
XCB.keysym_name_to_keysymbol
— MethodGet a KeySymbol
from a keysym name.
keysym_name_to_keysymbol(keysym_name::Any) -> WindowAbstractions.KeySymbol
XCB.@check
— MacroCheck 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
XCB.@flush
— MacroFlush 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