dwm-tagall-6.0.diff (988B)
1 Author: Jan Christoph Ebersbach <jceb@e-jc.de> 2 URL: http://dwm.suckless.org/patches/historical/tagall 3 Shortcut to move all (floating) windows from one tag to another. 4 5 diff -r ec4baab78314 tagall.c 6 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 7 +++ b/tagall.c Fri Apr 06 08:23:21 2012 +0200 8 @@ -0,0 +1,24 @@ 9 +void 10 +tagall(const Arg *arg) { 11 + if (!selmon->clients) 12 + return; 13 + /* if parameter starts with F, just move floating windows */ 14 + int floating_only = (char *)arg->v && ((char *)arg->v)[0] == 'F' ? 1 : 0; 15 + int tag = (char *)arg->v ? atoi(((char *)arg->v) + floating_only) : 0; 16 + int j; 17 + Client* c; 18 + if(tag >= 0 && tag < LENGTH(tags)) 19 + for(c = selmon->clients; c; c = c->next) 20 + { 21 + if(!floating_only || c->isfloating) 22 + for(j = 0; j < LENGTH(tags); j++) 23 + { 24 + if(c->tags & 1 << j && selmon->tagset[selmon->seltags] & 1 << j) 25 + { 26 + c->tags = c->tags ^ (1 << j & TAGMASK); 27 + c->tags = c->tags | 1 << (tag-1); 28 + } 29 + } 30 + } 31 + arrange(selmon); 32 +}