+ return o;
+}
+
+static gboolean do_grow(ObActionsData *data, gint x, gint y, gint w, gint h)
+{
+ gint realw, realh, lw, lh;
+
+ realw = w;
+ realh = h;
+ client_try_configure(data->client, &x, &y, &realw, &realh,
+ &lw, &lh, TRUE);
+ /* if it's going to be resized smaller than it intended, don't
+ move the window over */
+ if (x != data->client->area.x) x += w - realw;
+ if (y != data->client->area.y) y += h - realh;
+
+ if (x != data->client->area.x || y != data->client->area.y ||
+ realw != data->client->area.width ||
+ realh != data->client->area.height)
+ {
+ actions_client_move(data, TRUE);
+ client_move_resize(data->client, x, y, realw, realh);
+ actions_client_move(data, FALSE);
+ return TRUE;
+ }
+ return FALSE;