commit ebbc476adb217efd5a200b596445c0566982f533
parent cc54c92724dfc16c935f3162ef4beb13c45d879f
Author: Anselm R. Garbe <garbeam@wmii.de>
Date: Wed, 8 Mar 2006 22:52:13 +0100
~ in tags indicates the client is forced to be floating, fixed bug reported by bogon
Diffstat:
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/cmd/wm/fs.c b/cmd/wm/fs.c
@@ -1452,6 +1452,7 @@ xwrite(IXPConn *c, Fcall *fcall)
if(fcall->count > sizeof(class[i1]->tags))
return "tags too long";
memcpy(class[i1]->tags, fcall->data, fcall->count);
+ class[i1]->tags[fcall->count] = 0;
break;
case FsFkey:
break;
diff --git a/cmd/wm/tag.c b/cmd/wm/tag.c
@@ -261,8 +261,12 @@ detach_fromtag(Tag *t, Client *c, Bool unmap)
void
attach_totag(Tag *t, Client *c)
{
- Area *a = t->area[t->sel];
+ Area *a;
+ if(strchr(c->tags, '~'))
+ a = t->area[0];
+ else
+ a = t->area[t->sel];
reparent_client(c, c->framewin, c->rect.x, c->rect.y);
attach_toarea(a, c);
map_client(c);