summaryrefslogtreecommitdiff
path: root/openbox/action.c
diff options
context:
space:
mode:
Diffstat (limited to 'openbox/action.c')
-rw-r--r--openbox/action.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/openbox/action.c b/openbox/action.c
index 66475880..d83926b7 100644
--- a/openbox/action.c
+++ b/openbox/action.c
@@ -906,6 +906,13 @@ ObAction *action_parse(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node,
} else if (act->func == action_directional_focus) {
if ((n = parse_find_node("dialog", node->xmlChildrenNode)))
act->data.cycle.dialog = parse_bool(doc, n);
+ } else if (act->func == action_raise ||
+ act->func == action_lower ||
+ act->func == action_raiselower ||
+ act->func == action_shadelower ||
+ act->func == action_unshaderaise) {
+ if ((n = parse_find_node("group", node->xmlChildrenNode)))
+ act->data.stacking.group = parse_bool(doc, n);
}
INTERACTIVE_LIMIT(act, uact);
}
@@ -1076,7 +1083,7 @@ void action_raiselower(union ActionData *data)
void action_raise(union ActionData *data)
{
client_action_start(data);
- stacking_raise(CLIENT_AS_WINDOW(data->client.any.c));
+ stacking_raise(CLIENT_AS_WINDOW(data->client.any.c), data->stacking.group);
client_action_end(data);
}
@@ -1099,7 +1106,7 @@ void action_shadelower(union ActionData *data)
void action_lower(union ActionData *data)
{
client_action_start(data);
- stacking_lower(CLIENT_AS_WINDOW(data->client.any.c));
+ stacking_lower(CLIENT_AS_WINDOW(data->client.any.c), data->stacking.group);
client_action_end(data);
}