wmii

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

commit 0536494c9d442d34840ab239aa14b56e55a80dd5
parent 660aeb755ae5110bf2696eb8e4b5a53425ccf4bf
Author: sqweek <sqweek@gmail.com>
Date:   Sat, 22 Sep 2007 21:14:59 +0800

Fixed column resizals when dragging the left edge of a client.

Diffstat:
cmd/wmii/column.c | 24++++++++++++------------
1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/cmd/wmii/column.c b/cmd/wmii/column.c @@ -425,15 +425,17 @@ resize_colframe(Frame *f, Rectangle *r) { Area *a, *al, *ar; View *v; uint minw; - int dx, dw, maxx; + int dx, dw; a = f->area; v = a->view; - maxx = r->max.x; minw = Dx(screen->r) / NCOL; - al = a->prev; + if(a->prev && !a->prev->floating) + al = a->prev; + else + al = nil; ar = a->next; if(al) @@ -441,28 +443,26 @@ resize_colframe(Frame *f, Rectangle *r) { else r->min.x = max(r->min.x, 0); - if(ar) { - if(maxx >= ar->r.max.x - minw) - maxx = ar->r.max.x - minw; - } + if(ar) + r->max.x = min(r->max.x, ar->r.max.x - minw); else - if(maxx > screen->r.max.x) - maxx = screen->r.max.x; + r->max.x = min(r->max.x, screen->r.max.x); dx = a->r.min.x - r->min.x; - dw = maxx - a->r.max.x; + dw = r->max.x - a->r.max.x; if(al) { al->r.max.x -= dx; arrange_column(al, False); } if(ar) { - ar->r.max.x -= dw; + ar->r.min.x += dw; arrange_column(ar, False); } resize_colframeh(f, r); - a->r.max.x = maxx; + a->r.min.x = r->min.x; + a->r.max.x = r->max.x; arrange_view(a->view); focus_view(screen, v);