X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Factions%2Fresizerelative.c;h=5742e1fcff0a963e589aa370de47e6d11377c135;hb=3263845459d15da683b7cab92fb856acbdf2800e;hp=1aefb515d8363040321305c83acf3409beb67f20;hpb=8ab1e9537e5aebfe48d826cbf266cf8d582d9d65;p=chaz%2Fopenbox diff --git a/openbox/actions/resizerelative.c b/openbox/actions/resizerelative.c index 1aefb515..5742e1fc 100644 --- a/openbox/actions/resizerelative.c +++ b/openbox/actions/resizerelative.c @@ -11,45 +11,36 @@ typedef struct { gint bottom; } Options; -static gpointer setup_func(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node); -static void free_func(gpointer options); +static gpointer setup_func(xmlNodePtr node); static gboolean run_func(ObActionsData *data, gpointer options); -void action_resizerelative_startup() +void action_resizerelative_startup(void) { - actions_register("ResizeRelative", - setup_func, - free_func, - run_func, + actions_register("ResizeRelative", setup_func, g_free, run_func, NULL, NULL); } -static gpointer setup_func(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node) +static gpointer setup_func(xmlNodePtr node) { xmlNodePtr n; Options *o; o = g_new0(Options, 1); - if ((n = parse_find_node("left", node))) - o->left = parse_int(doc, n); - if ((n = parse_find_node("right", node))) - o->right = parse_int(doc, n); - if ((n = parse_find_node("top", node))) - o->top = parse_int(doc, n); - if ((n = parse_find_node("bottom", node))) - o->bottom = parse_int(doc, n); + if ((n = obt_parse_find_node(node, "left"))) + o->left = obt_parse_node_int(n); + if ((n = obt_parse_find_node(node, "right"))) + o->right = obt_parse_node_int(n); + if ((n = obt_parse_find_node(node, "top")) || + (n = obt_parse_find_node(node, "up"))) + o->top = obt_parse_node_int(n); + if ((n = obt_parse_find_node(node, "bottom")) || + (n = obt_parse_find_node(node, "down"))) + o->bottom = obt_parse_node_int(n); return o; } -static void free_func(gpointer options) -{ - Options *o = options; - - g_free(o); -} - /* Always return FALSE because its not interactive */ static gboolean run_func(ObActionsData *data, gpointer options) { @@ -76,9 +67,9 @@ static gboolean run_func(ObActionsData *data, gpointer options) yoff = yoff == 0 ? 0 : (yoff < 0 ? MAX(yoff, oh-nh) : MIN(yoff, oh-nh)); - actions_client_move(data, FALSE); - client_move_resize(c, x + xoff, y + yoff, nw, nh); actions_client_move(data, TRUE); + client_move_resize(c, x + xoff, y + yoff, nw, nh); + actions_client_move(data, FALSE); } return FALSE;