wmii

git clone git://oldgit.suckless.org/wmii/
Log | Files | Refs | README | LICENSE

commit b5ef87ab192daa3c8b2d04f2587e189ad83c1647
parent 306b002992b01158650e770f47fc4c51429d8dc7
Author: Anselm R. Garbe <garbeam@wmii.de>
Date:   Fri, 10 Feb 2006 21:00:04 +0100

fixed several issues when writing to client files in fs.c


Diffstat:
cmd/wm/fs.c | 29++++++++++++++++++-----------
1 file changed, 18 insertions(+), 11 deletions(-)

diff --git a/cmd/wm/fs.c b/cmd/wm/fs.c @@ -1081,8 +1081,9 @@ xwrite(IXPConn *c, Fcall *fcall) if(m->qid.dir_type == Ddef) def.border = i; else { - page[i1]->area[i2]->client[i3]->frame.border = i; - /* TODO: resize client */ + Client *c = page[i1]->area[i2]->client[i3]; + c->frame.border = i; + resize_client(c, &c->frame.rect, 0); } break; case Fbar: @@ -1096,8 +1097,9 @@ xwrite(IXPConn *c, Fcall *fcall) if(m->qid.dir_type == Ddef) def.border = i; else { - page[i1]->area[i2]->client[i3]->frame.border = i; - /* TODO: resize client */ + Client *c = page[i1]->area[i2]->client[i3]; + c->frame.bar = i; + resize_client(c, &c->frame.rect, 0); } break; case Finc: @@ -1109,15 +1111,20 @@ xwrite(IXPConn *c, Fcall *fcall) if(err) return "increment value out of range 0, 1"; def.inc = i; - /* TODO: resize all clients */ + for(i = 0; i < nclient; i++) + if(client[i]->page) + resize_client(client[i], &client[i]->frame.rect, 0); break; case Fgeom: - if(fcall->count > sizeof(buf)) - return "geometry values out of range"; - memcpy(buf, fcall->data, fcall->count); - buf[fcall->count] = 0; - blitz_strtorect(&rect, &page[i1]->area[i2]->client[i3]->frame.rect, buf); - /* TODO: resize client */ + { + Client *c = page[i1]->area[i2]->client[i3]; + if(fcall->count > sizeof(buf)) + return "geometry values out of range"; + memcpy(buf, fcall->data, fcall->count); + buf[fcall->count] = 0; + blitz_strtorect(&rect, &c->frame.rect, buf); + resize_client(c, &c->frame.rect, 0); + } break; case Fexpand: {