xcb-examples(3) XCB examples xcb-examples(3)

NAME


xcb-examples - manpage examples

DESCRIPTION


Many of the XCB manpages contain example code. These examples intend
to explain how to use one particular part of XCB. They almost never
represent a standalone (or even useful) program - X11 programs are
relatively involved and thus beyond the scope of a manpage example.


ENVIRONMENT


Every example assumes you have an xcb_connection and possibly other
variables at hand. For illustrating how xcb_get_property works, you
need the window of which you want to get the property, for example.
To make it clear that these variables are your responsibility, these
examples consist of a single function which takes the necessary
variables as parameters.


FLUSHING


Flushing means calling xcb_flush to clear the XCB-internal write
buffer and send all pending requests to the X11 server. You don't
explicitly need to flush before using a reply function (like
xcb_query_pointer_reply), but you do need to flush before entering
the event loop of your program.

There are only two cases when XCB flushes by itself. The first case
is when its write buffer becomes full, the second case is when you
are asking for the reply of a request which wasn't flushed out yet
(like xcb_query_pointer_reply). This last point also includes
xcb_request_check(). Please note that waiting for an event does NOT
flush.

Examples generally include the xcb_flush call where appropriate (for
example after setting a property). Therefore, including these
functions and calling them in your application should just work.
However, you might get better results when flushing outside of the
function, depending on the architecture of your program.


COMPILATION


If an example does not compile (without warnings) when using
-std=c99, that is considered a documentation bug. Similarly, not
handling errors or leaking memory is also considered a documentation
bug. Please inform us about it on xcb@lists.freedesktop.org.


CODING STYLE


Every example uses 4 spaces for indentation.

Comments are in asterisks, like /* this */.

No line is longer than 80 characters (including indentation).


SEE ALSO


xcb_connect(3), xcb_get_property(3), xcb_flush(3)

AUTHOR


Michael Stapelberg <michael+xcb at stapelberg dot de>

X Version 11 libxcb 1.16.1 xcb-examples(3)

tribblix@gmail.com :: GitHub :: Privacy