void checkfloatingrules(Client *c) { const char *class, *instance; unsigned int i; const Rule *r; XClassHint ch = { NULL, NULL }; XGetClassHint(dpy, c->win, &ch); class = ch.res_class ? ch.res_class : broken; instance = ch.res_name ? ch.res_name : broken; for (i = 0; i < LENGTH(rules); i++) { r = &rules[i]; if ((!r->title || strstr(c->name, r->title)) && (!r->class || strstr(class, r->class)) && (!r->instance || strstr(instance, r->instance))) c->isfloating = r->isfloating; } if (ch.res_class) XFree(ch.res_class); if (ch.res_name) XFree(ch.res_name); }