pub fn intern_atom<'c, 'input, Conn>(
conn: &'c Conn,
only_if_exists: bool,
name: &'input [u8],
) -> Result<Cookie<'c, Conn, InternAtomReply>, ConnectionError>where
Conn: RequestConnection + ?Sized,
Expand description
Get atom identifier by name.
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.
§Fields
name_len
- The length of the followingname
.name
- The name of the atom.only_if_exists
- Return a valid atom id only if the atom already exists.
§Errors
Alloc
- TODO: reasons?Value
- A value other than 0 or 1 was specified foronly_if_exists
.
§See
xlsatoms
: programGetAtomName
: request
§Example
/*
* Resolves the _NET_WM_NAME atom.
*
*/
void my_example(xcb_connection_t *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 %u\n", reply->atom);
free(reply);
}
}