Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

xcb-examples(3) [centos man page]

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 explic- itly 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 func- tions 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 indention. Comments are in asterisks, like /* this */. No line is longer than 80 characters (including indention). SEE ALSO
xcb_connect(3), xcb_get_property(3), xcb_flush(3) AUTHOR
Michael Stapelberg <michael+xcb at stapelberg dot de> XCB
2011-12-11 xcb-examples(3)

Check Out this Related Man Page

xcb_intern_atom(3)						   XCB Requests 						xcb_intern_atom(3)

NAME
xcb_intern_atom - Get atom identifier by name SYNOPSIS
#include <xcb/xproto.h> Request function xcb_intern_atom_cookie_t xcb_intern_atom(xcb_connection_t *conn, uint8_t only_if_exists, uint16_t name_len, const char *name); Reply datastructure typedef struct xcb_intern_atom_reply_t { uint8_t response_type; uint8_t pad0; uint16_t sequence; uint32_t length; xcb_atom_t atom; } xcb_intern_atom_reply_t; Reply function xcb_intern_atom_reply_t *xcb_intern_atom_reply(xcb_connection_t *conn, xcb_intern_atom_cookie_t cookie, xcb_generic_error_t **e); REQUEST ARGUMENTS
conn The XCB connection to X11. only_if_exists Return a valid atom id only if the atom already exists. name_len The length of the following name. name The name of the atom. REPLY FIELDS
response_type The type of this reply, in this case XCB_INTERN_ATOM. This field is also present in the xcb_generic_reply_t and can be used to tell replies apart from each other. sequence The sequence number of the last request processed by the X11 server. length The length of the reply, in words (a word is 4 bytes). atom TODO: NOT YET DOCUMENTED. DESCRIPTION
Retrieves the identifier (xcb_atom_t TODO) for the atom with the specified name. Atoms are used in protocols like EWMH, for example to store window titles (_NET_WM_NAME atom) as property of a window. If only_if_exists is 0, the atom will be created if it does not already exist. If only_if_exists is 1, XCB_ATOM_NONE will be returned if the atom does not yet exist. RETURN VALUE
Returns an xcb_intern_atom_cookie_t. Errors have to be handled when calling the reply function xcb_intern_atom_reply. If you want to handle errors in the event loop instead, use xcb_intern_atom_unchecked. See xcb-requests(3) for details. ERRORS
xcb_alloc_error_t TODO: reasons? xcb_value_error_t A value other than 0 or 1 was specified for only_if_exists. EXAMPLE
/* * Resolves the _NET_WM_NAME atom. * */ void my_example(xcb_connection *c) { xcb_intern_atom_cookie_t cookie; xcb_intern_atom_reply_t *reply; cookie = xcb_intern_atom(c, 0, strlen("_NET_WM_NAME"), "_NET_WM_NAME"); /* ... do other work here if possible ... */ if ((reply = xcb_intern_atom_reply(c, cookie, NULL))) { printf("The _NET_WM_NAME atom has ID %u0, reply->atom); free(reply); } } SEE ALSO
xcb-requests(3), xcb-examples(3), xcb_get_atom_name(3), xlsatoms(1) AUTHOR
Generated from xproto.xml. Contact xcb@lists.freedesktop.org for corrections and improvements. XCB
2014-06-10 xcb_intern_atom(3)
Man Page

Featured Tech Videos