X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=tag.c;h=2311ade97753bb26f87b69f452c8ab2f50317ccf;hb=154497541d1378d3aded02df06029de94d8af586;hp=8f41d82907ed8adcbc1550c4f4811272d4a27b37;hpb=89b7f1503e147dbd9260ecd379ca3e31ddfed6ea;p=dwm.git diff --git a/tag.c b/tag.c index 8f41d82..2311ade 100644 --- a/tag.c +++ b/tag.c @@ -1,6 +1,4 @@ -/* (C)opyright MMVI-MMVII Anselm R. Garbe - * See LICENSE file for license details. - */ +/* See LICENSE file for copyright and license details. */ #include "dwm.h" #include #include @@ -12,7 +10,7 @@ typedef struct { const char *prop; const char *tags; - Bool isversatile; + Bool isfloating; } Rule; typedef struct { @@ -83,7 +81,7 @@ settags(Client *c, Client *trans) { ch.res_name ? ch.res_name : "", c->name); for(i = 0; i < nrules; i++) if(regs[i].propregex && !regexec(regs[i].propregex, prop, 1, &tmp, 0)) { - c->isversatile = rule[i].isversatile; + c->isfloating = rule[i].isfloating; for(j = 0; regs[i].tagregex && j < ntags; j++) { if(!regexec(regs[i].tagregex, tags[j], 1, &tmp, 0)) { matched = True; @@ -101,6 +99,24 @@ settags(Client *c, Client *trans) { c->tags[i] = seltag[i]; } +void +shiftview(const char *arg) { + int i, j; + + for(i = 0; !seltag[i]; i++); + for(j = i + 1; j < ntags && !seltag[j]; j++); + if(j < ntags) + return; /* more than one tag selected */ + seltag[i] = False; + i += arg ? atoi(arg) : 0; + if(i < 0) + i = ntags - 1; + else if(i >= ntags) + i = 0; + seltag[i] = True; + lt->arrange(); +} + void tag(const char *arg) { int i;