summaryrefslogtreecommitdiff
path: root/openbox/actions/layer.c
diff options
context:
space:
mode:
Diffstat (limited to 'openbox/actions/layer.c')
-rw-r--r--openbox/actions/layer.c57
1 files changed, 45 insertions, 12 deletions
diff --git a/openbox/actions/layer.c b/openbox/actions/layer.c
index 92fa4806..1d522bbc 100644
--- a/openbox/actions/layer.c
+++ b/openbox/actions/layer.c
@@ -6,12 +6,14 @@ typedef struct {
gboolean toggle;
} Options;
-static gpointer setup_func_top(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node);
-static gpointer setup_func_bottom(ObParseInst *i, xmlDocPtr doc,
- xmlNodePtr node);
-static gpointer setup_func_send(ObParseInst *i, xmlDocPtr doc,
- xmlNodePtr node);
+static gpointer setup_func_top(xmlNodePtr node);
+static gpointer setup_func_bottom(xmlNodePtr node);
+static gpointer setup_func_send(xmlNodePtr node);
static gboolean run_func(ObActionsData *data, gpointer options);
+/* 3.4-compatibility */
+static gpointer setup_sendtop_func(xmlNodePtr node);
+static gpointer setup_sendbottom_func(xmlNodePtr node);
+static gpointer setup_sendnormal_func(xmlNodePtr node);
void action_layer_startup(void)
{
@@ -21,9 +23,16 @@ void action_layer_startup(void)
run_func, NULL, NULL);
actions_register("SendToLayer", setup_func_send, g_free,
run_func, NULL, NULL);
+ /* 3.4-compatibility */
+ actions_register("SendToTopLayer", setup_sendtop_func, g_free,
+ run_func, NULL, NULL);
+ actions_register("SendToBottomLayer", setup_sendbottom_func, g_free,
+ run_func, NULL, NULL);
+ actions_register("SendToNormalLayer", setup_sendnormal_func, g_free,
+ run_func, NULL, NULL);
}
-static gpointer setup_func_top(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node)
+static gpointer setup_func_top(xmlNodePtr node)
{
Options *o = g_new0(Options, 1);
o->layer = 1;
@@ -31,8 +40,7 @@ static gpointer setup_func_top(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node)
return o;
}
-static gpointer setup_func_bottom(ObParseInst *i, xmlDocPtr doc,
- xmlNodePtr node)
+static gpointer setup_func_bottom(xmlNodePtr node)
{
Options *o = g_new0(Options, 1);
o->layer = -1;
@@ -40,16 +48,15 @@ static gpointer setup_func_bottom(ObParseInst *i, xmlDocPtr doc,
return o;
}
-static gpointer setup_func_send(ObParseInst *i, xmlDocPtr doc,
- xmlNodePtr node)
+static gpointer setup_func_send(xmlNodePtr node)
{
xmlNodePtr n;
Options *o;
o = g_new0(Options, 1);
- if ((n = parse_find_node("layer", node))) {
- gchar *s = parse_string(doc, n);
+ if ((n = obt_parse_find_node(node, "layer"))) {
+ gchar *s = obt_parse_node_string(n);
if (!g_ascii_strcasecmp(s, "above") ||
!g_ascii_strcasecmp(s, "top"))
o->layer = 1;
@@ -91,3 +98,29 @@ static gboolean run_func(ObActionsData *data, gpointer options)
return FALSE;
}
+
+/* 3.4-compatibility */
+static gpointer setup_sendtop_func(xmlNodePtr node)
+{
+ Options *o = g_new0(Options, 1);
+ o->layer = 1;
+ o->toggle = FALSE;
+ return o;
+}
+
+static gpointer setup_sendbottom_func(xmlNodePtr node)
+{
+ Options *o = g_new0(Options, 1);
+ o->layer = -1;
+ o->toggle = FALSE;
+ return o;
+}
+
+static gpointer setup_sendnormal_func(xmlNodePtr node)
+{
+ Options *o = g_new0(Options, 1);
+ o->layer = 0;
+ o->toggle = FALSE;
+ return o;
+}
+