-settags(Client *c)
-{
- char classinst[256];
- static unsigned int len = sizeof(rule) / sizeof(rule[0]);
- unsigned int i, j;
- regex_t regex;
- regmatch_t tmp;
- Bool matched = False;
- XClassHint ch;
-
- if(XGetClassHint(dpy, c->win, &ch)) {
- snprintf(classinst, sizeof(classinst), "%s:%s",
- ch.res_class ? ch.res_class : "",
- ch.res_name ? ch.res_name : "");
- for(i = 0; !matched && i < len; i++) {
- if(!regcomp(®ex, rule[i].pattern, 0)) {
- if(!regexec(®ex, classinst, 1, &tmp, 0)) {
- for(j = 0; j < TLast; j++) {
- if(rule[i].tags[j])
- matched = True;
- c->tags[j] = rule[i].tags[j];
- }
- c->isfloat = rule[i].isfloat;
- }
- regfree(®ex);
- }
- }
- if(ch.res_class)
- XFree(ch.res_class);
- if(ch.res_name)
- XFree(ch.res_name);
+togglefloating(const char *arg) {
+ if(!sel || isfloating())
+ return;
+ sel->isfloating = !sel->isfloating;
+ if(sel->isfloating) {
+ resize(sel, sel->x, sel->y, sel->w, sel->h, True);
+ saveprops(sel);