From 78dfba0195c7e930b0b327afc9bf0bea4c8c0f35 Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Tue, 2 Sep 2003 07:50:52 +0000 Subject: [PATCH] stop doing stupid shit for the size increments in client_configure, it belongs in the moveresize code. add it there. --- openbox/client.c | 18 ------------------ openbox/moveresize.c | 35 ++++++++++++++++++----------------- 2 files changed, 18 insertions(+), 35 deletions(-) diff --git a/openbox/client.c b/openbox/client.c index 54dc2bbd..34d263b6 100644 --- a/openbox/client.c +++ b/openbox/client.c @@ -1833,7 +1833,6 @@ void client_configure_full(ObClient *self, ObCorner anchor, if (!(w == self->area.width && h == self->area.height)) { int basew, baseh, minw, minh; - int mw, mh, aw, ah; /* base size is substituted with min size if not specified */ if (self->base_size.width || self->base_size.height) { @@ -1852,23 +1851,6 @@ void client_configure_full(ObClient *self, ObCorner anchor, minh = self->base_size.height; } - /* for interactive resizing. have to move half an increment in each - direction. */ - - /* how far we are towards the next size inc */ - mw = (w - basew) % self->size_inc.width; - mh = (h - baseh) % self->size_inc.height; - /* amount to add */ - aw = self->size_inc.width / 2; - ah = self->size_inc.height / 2; - /* don't let us move into a new size increment */ - if (mw + aw >= self->size_inc.width) - aw = self->size_inc.width - mw - 1; - if (mh + ah >= self->size_inc.height) - ah = self->size_inc.height - mh - 1; - w += aw; - h += ah; - /* if this is a user-requested resize, then check against min/max sizes */ diff --git a/openbox/moveresize.c b/openbox/moveresize.c index de87d485..ccc5fd0f 100644 --- a/openbox/moveresize.c +++ b/openbox/moveresize.c @@ -79,8 +79,8 @@ void moveresize_start(ObClient *c, int x, int y, guint b, guint32 cnr) moveresize_client = c; start_cx = c->frame->area.x; start_cy = c->frame->area.y; - start_cw = c->area.width; - start_ch = c->area.height; + start_cw = c->area.width + (c->size_inc.width + 1) / 2; + start_ch = c->area.height + (c->size_inc.height + 1) / 2; start_x = x; start_y = y; corner = cnr; @@ -164,7 +164,8 @@ static void do_move(gboolean resist) Rect *a; if (resist) - resist_move(moveresize_client, &cur_x, &cur_y); + resist_move_windows(moveresize_client, &cur_x, &cur_y); + resist_move_monitors(moveresize_client, &cur_x, &cur_y); /* get where the client should be */ frame_frame_gravity(moveresize_client->frame, &cur_x, &cur_y); @@ -181,20 +182,20 @@ static void do_move(gboolean resist) static void do_resize(gboolean resist) { - if (resist) { - /* resist_size needs the frame size */ - cur_x += moveresize_client->frame->size.left + - moveresize_client->frame->size.right; - cur_y += moveresize_client->frame->size.top + - moveresize_client->frame->size.bottom; - - resist_size(moveresize_client, &cur_x, &cur_y, lockcorner); - - cur_x -= moveresize_client->frame->size.left + - moveresize_client->frame->size.right; - cur_y -= moveresize_client->frame->size.top + - moveresize_client->frame->size.bottom; - } + /* resist_size_* needs the frame size */ + cur_x += moveresize_client->frame->size.left + + moveresize_client->frame->size.right; + cur_y += moveresize_client->frame->size.top + + moveresize_client->frame->size.bottom; + + if (resist) + resist_size_windows(moveresize_client, &cur_x, &cur_y, lockcorner); + resist_size_monitors(moveresize_client, &cur_x, &cur_y, lockcorner); + + cur_x -= moveresize_client->frame->size.left + + moveresize_client->frame->size.right; + cur_y -= moveresize_client->frame->size.top + + moveresize_client->frame->size.bottom; client_configure(moveresize_client, lockcorner, moveresize_client->area.x, moveresize_client->area.y, -- 2.39.2