From 9d136ab7983ac5bc6f640199032f6b76e8328e82 Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Sat, 29 Mar 2003 00:58:50 +0000 Subject: add unshaderaise and shadelower actions from Mikachu --- openbox/action.c | 24 ++++++++++++++++++++++++ openbox/action.h | 4 ++++ 2 files changed, 28 insertions(+) (limited to 'openbox') diff --git a/openbox/action.c b/openbox/action.c index ccb988d9..521e3135 100644 --- a/openbox/action.c +++ b/openbox/action.c @@ -52,6 +52,10 @@ Action *action_from_string(char *name) a = action_new(action_close); } else if (!g_ascii_strcasecmp(name, "kill")) { a = action_new(action_kill); + } else if (!g_ascii_strcasecmp(name, "shadelower")) { + a = action_new(action_shadelower); + } else if (!g_ascii_strcasecmp(name, "unshaderaise")) { + a = action_new(action_unshaderaise); } else if (!g_ascii_strcasecmp(name, "shade")) { a = action_new(action_shade); } else if (!g_ascii_strcasecmp(name, "unshade")) { @@ -196,6 +200,26 @@ void action_raise(union ActionData *data) stacking_raise(data->client.c); } +void action_unshaderaise(union ActionData *data) +{ + if (data->client.c) { + if (data->client.c->shaded) + client_shade(data->client.c, FALSE); + else + stacking_raise(data->client.c); + } +} + +void action_shadelower(union ActionData *data) +{ + if (data->client.c) { + if (data->client.c->shaded) + stacking_lower(data->client.c); + else + client_shade(data->client.c, TRUE); + } +} + void action_lower(union ActionData *data) { if (data->client.c) diff --git a/openbox/action.h b/openbox/action.h index 95d9bc2c..fae5b647 100644 --- a/openbox/action.h +++ b/openbox/action.h @@ -120,6 +120,10 @@ void action_kill(union ActionData *data); /* ClientAction */ void action_shade(union ActionData *data); /* ClientAction */ +void action_shadelower(union ActionData *data); +/* ClientAction */ +void action_unshaderaise(union ActionData *data); +/* ClientAction */ void action_unshade(union ActionData *data); /* ClientAction */ void action_toggle_shade(union ActionData *data); -- cgit v1.2.3