Convert XGetAtomName to XCB

Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
This commit is contained in:
Uli Schlachter 2018-10-03 14:54:03 +02:00 committed by Yuxuan Shui
parent ca148c8f15
commit b2bfbcdfb0
2 changed files with 19 additions and 4 deletions

View File

@ -1463,7 +1463,14 @@ c2_match_once_leaf(session_t *ps, win *w, const c2_l_t *pleaf,
idx, 1L, c2_get_atom_type(pleaf), pleaf->format);
Atom atom = winprop_get_int(prop);
if (atom) {
tgt_free = XGetAtomName(ps->dpy, atom);
xcb_connection_t *c = XGetXCBConnection(ps->dpy);
xcb_get_atom_name_reply_t *reply =
xcb_get_atom_name_reply(c, xcb_get_atom_name(c, atom), NULL);
if (reply) {
tgt_free = strndup(
xcb_get_atom_name_name(reply), xcb_get_atom_name_name_length(reply));
free(reply);
}
}
if (tgt_free) {
tgt = tgt_free;

View File

@ -2840,9 +2840,17 @@ ev_property_notify(session_t *ps, xcb_property_notify_event_t *ev) {
#ifdef DEBUG_EVENTS
{
// Print out changed atom
char *name = XGetAtomName(ps->dpy, ev->atom);
printf_dbg(" { atom = %s }\n", name);
cxfree(name);
xcb_get_atom_name_reply_t *reply =
xcb_get_atom_name_reply(ps->c, xcb_get_atom_name(ps->c, ev->atom), NULL);
const char *name = "?";
int name_len = 1;
if (reply) {
name = xcb_get_atom_name_name(reply);
name_len = xcb_get_atom_name_name_length(reply);
}
printf_dbg(" { atom = %.*s }\n", name_len, name);
free(reply);
}
#endif