wmii

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

commit afc961f641e0ffb9cd1deef0014b1f9db0ccff9f
parent e9243fc7ce52191f0ee614527dfd05ab4f699066
Author: Anselm R. Garbe <garbeam@wmii.de>
Date:   Thu,  2 Mar 2006 10:36:03 +0100

fixed left  column resize issue, allowing sendtoarea with the implication, that the area gets destroyed


Diffstat:
cmd/wm/client.c | 4+++-
cmd/wm/column.c | 7++++---
2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/cmd/wm/client.c b/cmd/wm/client.c @@ -587,7 +587,7 @@ sendtoarea_client(Client *c, char *arg) { Page *p = a->page; int i = area2index(a); - if(i == -1 || a->nclient < 2) + if(i == -1) return; if(!strncmp(arg, "prev", 5)) { if(i == 1) @@ -608,6 +608,8 @@ sendtoarea_client(Client *c, char *arg) { to = p->area[i]; } sendto_area(to, c); + if(!a->nclient) + destroy_area(a); arrange_column(to); } diff --git a/cmd/wm/column.c b/cmd/wm/column.c @@ -173,11 +173,12 @@ drop_resize(Client *c, XRectangle *new) Client *north = nil, *south = nil; unsigned int i; - for(i = 0; (i < p->narea) && (p->area[i] != col); i++); - west = i ? p->area[i - 1] : nil; + for(i = 1; (i < p->narea) && (p->area[i] != col); i++); + /* first managed area is indexed 1, thus (i > 1) ? ... */ + west = (i > 1) ? p->area[i - 1] : nil; east = i + 1 < p->narea ? p->area[i + 1] : nil; - for(i = 0; (i < col->nclient) && (col->client[i] != c); i++); + for(i = 1; (i < col->nclient) && (col->client[i] != c); i++); north = i ? col->client[i - 1] : nil; south = i + 1 < col->nclient ? col->client[i + 1] : nil;