X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Faction.c;h=fa41e788670af3f2608854408ec9679393ca6e04;hb=de1559a09497ae4ead44a6e70b556123a5bab35c;hp=66475880803ea0038b057dc27a16bbbdce810dd4;hpb=2ce7572e46bdac383e89bc7c756b88d2686466cf;p=chaz%2Fopenbox diff --git a/openbox/action.c b/openbox/action.c index 66475880..fa41e788 100644 --- a/openbox/action.c +++ b/openbox/action.c @@ -471,6 +471,11 @@ ActionString actionstrings[] = action_iconify, setup_client_action }, + { + "focustobottom", + action_focus_order_to_bottom, + setup_client_action + }, { "raiselower", action_raiselower, @@ -906,6 +911,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); } @@ -1045,6 +1057,11 @@ void action_iconify(union ActionData *data) client_action_end(data); } +void action_focus_order_to_bottom(union ActionData *data) +{ + focus_order_to_bottom(data->client.any.c); +} + void action_raiselower(union ActionData *data) { ObClient *c = data->client.any.c; @@ -1076,7 +1093,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 +1116,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); }