all repos — openbox @ 9eed441c42d21049cc0621ec1fd920423875ff44

openbox fork - make it a bit more like ryudo

resize fixings
Dana Jansens danakj@orodu.net
commit

9eed441c42d21049cc0621ec1fd920423875ff44

parent

b046c107e8f9da138ea56dfde05216c1bb86ff34

1 files changed, 17 insertions(+), 5 deletions(-)

jump to
M openbox/moveresize.copenbox/moveresize.c

@@ -374,23 +374,34 @@

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; resist_size_windows(moveresize_client, resist, &nw, &nh, cor); 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 @@ g_assert_not_reached();

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;