summaryrefslogtreecommitdiff
path: root/openbox
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-09-26 18:02:39 +0000
committerDana Jansens <danakj@orodu.net>2003-09-26 18:02:39 +0000
commit54b8eb3bf321190702b0515502e98c9287e6221b (patch)
treef87b157dde7cea40d53029fc7f0cc374883c8d69 /openbox
parent31b2dffbbe4ba8528b3562e3aa239be8e430bb47 (diff)
bring back action_run_string,
use action_run_string for running actions from other actions
Diffstat (limited to 'openbox')
-rw-r--r--openbox/action.c46
-rw-r--r--openbox/action.h2
2 files changed, 24 insertions, 24 deletions
diff --git a/openbox/action.c b/openbox/action.c
index 8a1a7d27..9d2554f5 100644
--- a/openbox/action.c
+++ b/openbox/action.c
@@ -926,6 +926,20 @@ void action_run_list(GSList *acts, ObClient *c, ObFrameContext context,
}
}
+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 @@ void action_raiselower(union ActionData *data)
}
}
- 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_raise(union ActionData *data)
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)
diff --git a/openbox/action.h b/openbox/action.h
index f2ae7cbc..bce741a6 100644
--- a/openbox/action.h
+++ b/openbox/action.h
@@ -209,6 +209,8 @@ void action_run_list(GSList *acts, struct _ObClient *c, ObFrameContext context,
#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 */