]> Dogcows Code - chaz/openbox/blobdiff - openbox/action.c
add the growtoedge action
[chaz/openbox] / openbox / action.c
index d0953cc16891980fc3177733bee4f7b9616854a8..04a2f9d20bfaa12800f6e5f489aafb5d4ddb652a 100644 (file)
@@ -146,68 +146,4 @@ void action_shadelower(union ActionData *data)
 
 void action_growtoedge(union ActionData *data)
 {
-    gint x, y, width, height, dest;
-    ObClient *c = data->diraction.any.c;
-    Rect *a;
-
-    a = screen_area(c->desktop, SCREEN_AREA_ALL_MONITORS, &c->frame->area);
-    x = c->frame->area.x;
-    y = c->frame->area.y;
-    /* get the unshaded frame's dimensions..if it is shaded */
-    width = c->area.width + c->frame->size.left + c->frame->size.right;
-    height = c->area.height + c->frame->size.top + c->frame->size.bottom;
-
-    switch(data->diraction.direction) {
-    case OB_DIRECTION_NORTH:
-        if (c->shaded) break; /* don't allow vertical resize if shaded */
-
-        dest = client_directional_edge_search(c, OB_DIRECTION_NORTH, FALSE);
-        if (a->y == y)
-            height = height / 2;
-        else {
-            height = c->frame->area.y + height - dest;
-            y = dest;
-        }
-        break;
-    case OB_DIRECTION_WEST:
-        dest = client_directional_edge_search(c, OB_DIRECTION_WEST, FALSE);
-        if (a->x == x)
-            width = width / 2;
-        else {
-            width = c->frame->area.x + width - dest;
-            x = dest;
-        }
-        break;
-    case OB_DIRECTION_SOUTH:
-        if (c->shaded) break; /* don't allow vertical resize if shaded */
-
-        dest = client_directional_edge_search(c, OB_DIRECTION_SOUTH, FALSE);
-        if (a->y + a->height == y + c->frame->area.height) {
-            height = c->frame->area.height / 2;
-            y = a->y + a->height - height;
-        } else
-            height = dest - c->frame->area.y;
-        y += (height - c->frame->area.height) % c->size_inc.height;
-        height -= (height - c->frame->area.height) % c->size_inc.height;
-        break;
-    case OB_DIRECTION_EAST:
-        dest = client_directional_edge_search(c, OB_DIRECTION_EAST, FALSE);
-        if (a->x + a->width == x + c->frame->area.width) {
-            width = c->frame->area.width / 2;
-            x = a->x + a->width - width;
-        } else
-            width = dest - c->frame->area.x;
-        x += (width - c->frame->area.width) % c->size_inc.width;
-        width -= (width - c->frame->area.width) % c->size_inc.width;
-        break;
-    default:
-        g_assert_not_reached();
-    }
-    width -= c->frame->size.left + c->frame->size.right;
-    height -= c->frame->size.top + c->frame->size.bottom;
-    frame_frame_gravity(c->frame, &x, &y, width, height);
-    client_action_start(data);
-    client_move_resize(c, x, y, width, height);
-    client_action_end(data, FALSE);
-    g_free(a);
 }
This page took 0.024617 seconds and 4 git commands to generate.