From 9eed441c42d21049cc0621ec1fd920423875ff44 Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Tue, 10 Jul 2007 23:06:11 +0000 Subject: [PATCH] resize fixings --- openbox/moveresize.c | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/openbox/moveresize.c b/openbox/moveresize.c index b4ebde5a..29f82cf0 100644 --- a/openbox/moveresize.c +++ b/openbox/moveresize.c @@ -374,17 +374,17 @@ static gboolean sync_timeout_func(gpointer data) static void calc_resize(gboolean keyboard, gint keydist, gint *dw, gint *dh, ObCorner cor) { - gint resist, ow, oh, nw, nh; + gint resist, x, y, lw, lh, ow, oh, nw, nh; + ow = cur_w; + oh = cur_h; /* resist_size_* needs the frame size */ - ow = cur_w + + nw = ow + *dw + moveresize_client->frame->size.left + moveresize_client->frame->size.right; - oh = cur_h + + nh = oh + *dh + moveresize_client->frame->size.top + moveresize_client->frame->size.bottom; - nw = ow + *dw; - nh = oh + *dh; if (keyboard) resist = keydist - 1; /* resist for one key press */ else resist = config_resist_win; @@ -392,6 +392,17 @@ static void calc_resize(gboolean keyboard, gint keydist, gint *dw, gint *dh, if (!keyboard) resist = config_resist_edge; resist_size_monitors(moveresize_client, resist, &nw, &nh, cor); + nw -= moveresize_client->frame->size.left + + moveresize_client->frame->size.right; + nh -= moveresize_client->frame->size.top + + moveresize_client->frame->size.bottom; + + /* see its actual size */ + x = 0; + y = 0; + client_try_configure(moveresize_client, &x, &y, &nw, &nh, &lw, &lh, TRUE); + + *dw = nw - ow; *dh = nh - oh; } @@ -742,6 +753,7 @@ gboolean moveresize_event(XEvent *e) dw -= cur_w - start_cw; dh -= cur_h - start_ch; + ob_debug("dw %d\n", dw); calc_resize(FALSE, 0, &dw, &dh, lockcorner); cur_w += dw; -- 2.39.2