all repos — openbox @ 54b8eb3bf321190702b0515502e98c9287e6221b

openbox fork - make it a bit more like ryudo

bring back action_run_string,
use action_run_string for running actions from other actions
Dana Jansens danakj@orodu.net
commit

54b8eb3bf321190702b0515502e98c9287e6221b

parent

31b2dffbbe4ba8528b3562e3aa239be8e430bb47

2 files changed, 24 insertions(+), 24 deletions(-)

jump to
M openbox/action.copenbox/action.c

@@ -926,6 +926,20 @@ }

} } +void action_run_string(const gchar *name, struct _ObClient *c) +{ + ObAction *a; + GSList *l; + + a = action_from_string(name, OB_USER_ACTION_NONE); + g_assert(a); + + l = g_slist_append(NULL, a); + + action_run(l, c, 0); +} + +void action_execute(union ActionData *data) { GError *e = NULL; char *cmd;

@@ -985,15 +999,7 @@ }

} } - if (raise) { - client_action_start(data); - stacking_raise(CLIENT_AS_WINDOW(c)); - client_action_end(data); - } else { - client_action_start(data); - stacking_lower(CLIENT_AS_WINDOW(c)); - client_action_end(data); - } + action_run_string((raise ? "Raise" : "Lower"), c); } void action_raise(union ActionData *data)

@@ -1005,26 +1011,18 @@ }

void action_unshaderaise(union ActionData *data) { - if (data->client.any.c->shaded) { - client_action_start(data); - client_shade(data->client.any.c, FALSE); - client_action_end(data); - } else { - client_action_start(data); - stacking_raise(CLIENT_AS_WINDOW(data->client.any.c)); - client_action_end(data); - } + if (data->client.any.c->shaded) + action_run_string("Unshade", data->client.any.c); + else + action_run_string("Raise", data->client.any.c); } void action_shadelower(union ActionData *data) { if (data->client.any.c->shaded) - stacking_lower(CLIENT_AS_WINDOW(data->client.any.c)); - else { - client_action_start(data); - client_shade(data->client.any.c, TRUE); - client_action_end(data); - } + action_run_string("Lower", data->client.any.c); + else + action_run_string("Shade", data->client.any.c); } void action_lower(union ActionData *data)
M openbox/action.hopenbox/action.h

@@ -209,6 +209,8 @@

#define action_run(a, c, s) \ action_run_list(a, c, OB_FRAME_CONTEXT_NONE, s, 0, -1, -1, FALSE, FALSE) +void action_run_string(const gchar *name, struct _ObClient *c); + /* Execute */ void action_execute(union ActionData *data); /* ActivateAction */