From 0364acb2ab6c9de13d84a09be0e16d532e049453 Mon Sep 17 00:00:00 2001 From: Kris Maglione Date: Sat, 29 May 2010 11:38:35 -0400 Subject: [PATCH] Fix some managed grabbox move bugs. --- cmd/wmii/frame.c | 2 +- cmd/wmii/layout.c | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/cmd/wmii/frame.c b/cmd/wmii/frame.c index 3851ae89..ed3c34b6 100644 --- a/cmd/wmii/frame.c +++ b/cmd/wmii/frame.c @@ -620,7 +620,7 @@ frame_focus(Frame *f) { if(old_a != v->oldsel && f != old_f) v->oldsel = nil; - if(v != selview || a != v->sel) + if(v != selview || a != v->sel || resizing) return; move_focus(old_f, f); diff --git a/cmd/wmii/layout.c b/cmd/wmii/layout.c index f32f5446..5e36f8df 100644 --- a/cmd/wmii/layout.c +++ b/cmd/wmii/layout.c @@ -377,10 +377,13 @@ column_openstack(Area *a, Frame *f, int h) { static void column_drop(Area *a, Frame *f, int y) { Frame *ff; - int dy; + int dy, extra_y; - for(ff=a->frame; ff; ff=ff->anext) + extra_y = Dy(a->r); + for(ff=a->frame; ff; ff=ff->anext) { assert(ff != f); + extra_y -= Dy(ff->colr); + } if(a->frame == nil || y <= a->frame->r.min.y) { f->collapsed = true; @@ -403,7 +406,7 @@ column_drop(Area *a, Frame *f, int y) { column_openstack(a, ff, labelh(def.font) - dy); }else { f->colr.min.y = y; - f->colr.max.y = ff->colr.max.y; + f->colr.max.y = ff->colr.max.y + extra_y; ff->colr.max.y = y; } column_insert(a, f, ff);