X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Factions%2Fresizerelative.c;h=1d42df2399e42e28123758c9bb60d9cc12fcabb0;hb=d179d6428ae585a3b8a13479bfe4586e41de2ff9;hp=075c9e7348dcf3088e642c5375c9962588506889;hpb=256c82a9f187842ac6d8823357ee91973c67148d;p=chaz%2Fopenbox diff --git a/openbox/actions/resizerelative.c b/openbox/actions/resizerelative.c index 075c9e73..1d42df23 100644 --- a/openbox/actions/resizerelative.c +++ b/openbox/actions/resizerelative.c @@ -11,43 +11,39 @@ typedef struct { gint bottom; } Options; -static gpointer setup_func(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node); +static gpointer setup_func(xmlNodePtr node); static void free_func(gpointer options); 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, - NULL, NULL); + actions_register("ResizeRelative", setup_func, free_func, run_func); } -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); + o = g_slice_new0(Options); - 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_xml_find_node(node, "left"))) + o->left = obt_xml_node_int(n); + if ((n = obt_xml_find_node(node, "right"))) + o->right = obt_xml_node_int(n); + if ((n = obt_xml_find_node(node, "top")) || + (n = obt_xml_find_node(node, "up"))) + o->top = obt_xml_node_int(n); + if ((n = obt_xml_find_node(node, "bottom")) || + (n = obt_xml_find_node(node, "down"))) + o->bottom = obt_xml_node_int(n); return o; } -static void free_func(gpointer options) +static void free_func(gpointer o) { - Options *o = options; - - g_free(o); + g_slice_free(Options, o); } /* Always return FALSE because its not interactive */