X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Factions%2Fmaximize.c;h=4c615078fb16633461d356f13791d34f9098107f;hb=7cfaae8da9271a7bad4c73886c894a14cbf456e7;hp=8bb0cc953e355b52a9595b659edd885b05cd04d9;hpb=3e94f9e642a060413a7316f605de7637f91434d5;p=chaz%2Fopenbox diff --git a/openbox/actions/maximize.c b/openbox/actions/maximize.c index 8bb0cc95..4c615078 100644 --- a/openbox/actions/maximize.c +++ b/openbox/actions/maximize.c @@ -12,22 +12,42 @@ typedef struct { MaxDirection dir; } Options; -static gpointer setup_func(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node); +static gpointer setup_func(xmlNodePtr node); static gboolean run_func_on(ObActionsData *data, gpointer options); static gboolean run_func_off(ObActionsData *data, gpointer options); static gboolean run_func_toggle(ObActionsData *data, gpointer options); +/* 3.4-compatibility */ +static gpointer setup_both_func(xmlNodePtr node); +static gpointer setup_horz_func(xmlNodePtr node); +static gpointer setup_vert_func(xmlNodePtr node); -void action_maximize_startup() +void action_maximize_startup(void) { - actions_register("Maximize", setup_func, g_free, run_func_on, - NULL, NULL); - actions_register("Unmaximize", setup_func, g_free, run_func_off, - NULL, NULL); - actions_register("ToggleMaximize", setup_func, g_free, run_func_toggle, - NULL, NULL); + actions_register("Maximize", setup_func, g_free, run_func_on); + actions_register("Unmaximize", setup_func, g_free, run_func_off); + actions_register("ToggleMaximize", setup_func, g_free, run_func_toggle); + /* 3.4-compatibility */ + actions_register("MaximizeFull", setup_both_func, g_free, + run_func_on); + actions_register("UnmaximizeFull", setup_both_func, g_free, + run_func_off); + actions_register("ToggleMaximizeFull", setup_both_func, g_free, + run_func_toggle); + actions_register("MaximizeHorz", setup_horz_func, g_free, + run_func_on); + actions_register("UnmaximizeHorz", setup_horz_func, g_free, + run_func_off); + actions_register("ToggleMaximizeHorz", setup_horz_func, g_free, + run_func_toggle); + actions_register("MaximizeVert", setup_vert_func, g_free, + run_func_on); + actions_register("UnmaximizeVert", setup_vert_func, g_free, + run_func_off); + actions_register("ToggleMaximizeVert", setup_vert_func, g_free, + run_func_toggle); } -static gpointer setup_func(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node) +static gpointer setup_func(xmlNodePtr node) { xmlNodePtr n; Options *o; @@ -35,8 +55,8 @@ static gpointer setup_func(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node) o = g_new0(Options, 1); o->dir = BOTH; - if ((n = parse_find_node("direction", node))) { - gchar *s = parse_string(doc, n); + if ((n = obt_xml_find_node(node, "direction"))) { + gchar *s = obt_xml_node_string(n); if (!g_ascii_strcasecmp(s, "vertical") || !g_ascii_strcasecmp(s, "vert")) o->dir = VERT; @@ -89,3 +109,26 @@ static gboolean run_func_toggle(ObActionsData *data, gpointer options) } return FALSE; } + +/* 3.4-compatibility */ +static gpointer setup_both_func(xmlNodePtr node) +{ + Options *o = g_new0(Options, 1); + o->dir = BOTH; + return o; +} + +static gpointer setup_horz_func(xmlNodePtr node) +{ + Options *o = g_new0(Options, 1); + o->dir = HORZ; + return o; +} + +static gpointer setup_vert_func(xmlNodePtr node) +{ + Options *o = g_new0(Options, 1); + o->dir = VERT; + return o; +} +