15
static gpointer setup_both_func(ObParseInst *i, xmlDocPtr doc,
17
static gpointer setup_horz_func(ObParseInst *i, xmlDocPtr doc,
19
static gpointer setup_vert_func(ObParseInst *i,
20
xmlDocPtr doc, xmlNodePtr node);
15
static gpointer setup_func(xmlNodePtr node);
16
static void free_func(gpointer o);
21
17
static gboolean run_func_on(ObActionsData *data, gpointer options);
22
18
static gboolean run_func_off(ObActionsData *data, gpointer options);
23
19
static gboolean run_func_toggle(ObActionsData *data, gpointer options);
20
/* 3.4-compatibility */
21
static gpointer setup_both_func(xmlNodePtr node);
22
static gpointer setup_horz_func(xmlNodePtr node);
23
static gpointer setup_vert_func(xmlNodePtr node);
25
25
void action_maximize_startup(void)
27
actions_register("MaximizeFull", setup_both_func, g_free,
28
run_func_on, NULL, NULL);
29
actions_register("UnmaximizeFull", setup_both_func, g_free,
30
run_func_off, NULL, NULL);
31
actions_register("ToggleMaximizeFull", setup_both_func, g_free,
32
run_func_toggle, NULL, NULL);
33
actions_register("MaximizeHorz", setup_horz_func, g_free,
34
run_func_on, NULL, NULL);
35
actions_register("UnmaximizeHorz", setup_horz_func, g_free,
36
run_func_off, NULL, NULL);
37
actions_register("ToggleMaximizeHorz", setup_horz_func, g_free,
38
run_func_toggle, NULL, NULL);
39
actions_register("MaximizeVert", setup_vert_func, g_free,
40
run_func_on, NULL, NULL);
41
actions_register("UnmaximizeVert", setup_vert_func, g_free,
42
run_func_off, NULL, NULL);
43
actions_register("ToggleMaximizeVert", setup_vert_func, g_free,
44
run_func_toggle, NULL, NULL);
27
actions_register("Maximize", setup_func, free_func, run_func_on);
28
actions_register("Unmaximize", setup_func, free_func, run_func_off);
29
actions_register("ToggleMaximize", setup_func, free_func, run_func_toggle);
30
/* 3.4-compatibility */
31
actions_register("MaximizeFull", setup_both_func, free_func,
33
actions_register("UnmaximizeFull", setup_both_func, free_func,
35
actions_register("ToggleMaximizeFull", setup_both_func, free_func,
37
actions_register("MaximizeHorz", setup_horz_func, free_func,
39
actions_register("UnmaximizeHorz", setup_horz_func, free_func,
41
actions_register("ToggleMaximizeHorz", setup_horz_func, free_func,
43
actions_register("MaximizeVert", setup_vert_func, free_func,
45
actions_register("UnmaximizeVert", setup_vert_func, free_func,
47
actions_register("ToggleMaximizeVert", setup_vert_func, free_func,
47
static gpointer setup_both_func(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node)
51
static gpointer setup_func(xmlNodePtr node)
49
Options *o = g_new0(Options, 1);
56
o = g_slice_new0(Options);
54
static gpointer setup_horz_func(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node)
56
Options *o = g_new0(Options, 1);
61
static gpointer setup_vert_func(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node)
63
Options *o = g_new0(Options, 1);
59
if ((n = obt_xml_find_node(node, "direction"))) {
60
gchar *s = obt_xml_node_string(n);
61
if (!g_ascii_strcasecmp(s, "vertical") ||
62
!g_ascii_strcasecmp(s, "vert"))
64
else if (!g_ascii_strcasecmp(s, "horizontal") ||
65
!g_ascii_strcasecmp(s, "horz"))
73
static void free_func(gpointer o)
75
g_slice_free(Options, o);
68
78
/* Always return FALSE because its not interactive */