Manual Reference Pages - XCB-EXAMPLES (3)
xcb-examples - manpage examples
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.
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 means calling xcb_flush to clear the XCB-internal write buffer
and send all pending requests to the X11 server. You dont 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 wasnt 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
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.
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 email@example.com.
Every example uses 4 spaces for indentation.
Comments are in asterisks, like /* this */.
No line is longer than 80 characters (including indentation).
Michael Stapelberg <michael+xcb at stapelberg dot de>
|X Version 11 ||XCB-EXAMPLES (3) ||libxcb 1.11.1 |
Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.