From a5c2aadf2778d6ab4105abd457cd2ab21a1172ec Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Fri, 22 Jun 2007 14:28:21 +0000 Subject: [PATCH] add lower and raiselower actions --- Makefile.am | 2 ++ openbox/action.c | 26 -------------------------- openbox/actions/all.c | 2 ++ openbox/actions/all.h | 2 ++ openbox/actions/lower.c | 24 ++++++++++++++++++++++++ openbox/actions/raiselower.c | 24 ++++++++++++++++++++++++ 6 files changed, 54 insertions(+), 26 deletions(-) create mode 100644 openbox/actions/lower.c create mode 100644 openbox/actions/raiselower.c diff --git a/Makefile.am b/Makefile.am index cebec40..b59fdd3 100644 --- a/Makefile.am +++ b/Makefile.am @@ -163,8 +163,10 @@ openbox_openbox_SOURCES = \ openbox/actions/execute.c \ openbox/actions/exit.c \ openbox/actions/focus.c \ + openbox/actions/lower.c \ openbox/actions/move.c \ openbox/actions/raise.c \ + openbox/actions/raiselower.c \ openbox/actions/reconfigure.c \ openbox/actions/restart.c \ openbox/actions/showdesktop.c \ diff --git a/openbox/action.c b/openbox/action.c index f0fe691..a56f4cb 100644 --- a/openbox/action.c +++ b/openbox/action.c @@ -465,16 +465,6 @@ ActionString actionstrings[] = setup_client_action }, { - "raiselower", - action_raiselower, - setup_client_action - }, - { - "lower", - action_lower, - setup_client_action - }, - { "kill", action_kill, setup_client_action @@ -1048,15 +1038,6 @@ 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; - - client_action_start(data); - stacking_restack_request(c, NULL, Opposite); - client_action_end(data, config_focus_under_mouse); -} - void action_unshaderaise(union ActionData *data) { if (data->client.any.c->shaded) @@ -1073,13 +1054,6 @@ void action_shadelower(union ActionData *data) action_shade(data); } -void action_lower(union ActionData *data) -{ - client_action_start(data); - stacking_lower(CLIENT_AS_WINDOW(data->client.any.c)); - client_action_end(data, config_focus_under_mouse); -} - void action_kill(union ActionData *data) { client_kill(data->client.any.c); diff --git a/openbox/actions/all.c b/openbox/actions/all.c index 4bc4814..c4edc5c 100644 --- a/openbox/actions/all.c +++ b/openbox/actions/all.c @@ -15,4 +15,6 @@ void action_all_startup() action_move_startup(); action_focus_startup(); action_raise_startup(); + action_lower_startup(); + action_raiselower_startup(); } diff --git a/openbox/actions/all.h b/openbox/actions/all.h index 01716e3..48b6d1c 100644 --- a/openbox/actions/all.h +++ b/openbox/actions/all.h @@ -16,5 +16,7 @@ void action_close_startup(); void action_move_startup(); void action_focus_startup(); void action_raise_startup(); +void action_lower_startup(); +void action_raiselower_startup(); #endif diff --git a/openbox/actions/lower.c b/openbox/actions/lower.c new file mode 100644 index 0000000..1abf590 --- /dev/null +++ b/openbox/actions/lower.c @@ -0,0 +1,24 @@ +#include "openbox/actions.h" +#include "openbox/stacking.h" + +static gboolean run_func(ObActionsData *data, gpointer options); + +void action_lower_startup() +{ + actions_register("Lower", + NULL, NULL, + run_func, + NULL, NULL); +} + +/* Always return FALSE because its not interactive */ +static gboolean run_func(ObActionsData *data, gpointer options) +{ + if (data->client) { + actions_client_move(data, TRUE); + stacking_lower(CLIENT_AS_WINDOW(data->client)); + actions_client_move(data, FALSE); + } + + return FALSE; +} diff --git a/openbox/actions/raiselower.c b/openbox/actions/raiselower.c new file mode 100644 index 0000000..f75410a --- /dev/null +++ b/openbox/actions/raiselower.c @@ -0,0 +1,24 @@ +#include "openbox/actions.h" +#include "openbox/stacking.h" + +static gboolean run_func(ObActionsData *data, gpointer options); + +void action_raiselower_startup() +{ + actions_register("RaiseLower", + NULL, NULL, + run_func, + NULL, NULL); +} + +/* Always return FALSE because its not interactive */ +static gboolean run_func(ObActionsData *data, gpointer options) +{ + if (data->client) { + actions_client_move(data, TRUE); + stacking_restack_request(data->client, NULL, Opposite); + actions_client_move(data, FALSE); + } + + return FALSE; +} -- 1.9.1