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")) {
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)
/* 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);
# * Shade - Shade (roll up) the focused client
# * Unshade - Unshade (roll down) the focused client
# * ToggleShade - Shade and unshade the focused client
+# * ShadeLower - Shades the window if it's not shaded, and lower it
+# if it was already shaded
+# * UnshadeRaise - Unshades the window if it's shaded, and raise it
+# if it was already unshaded
# * ToggleOmnipresent - Place the focused client on all desktops or the
# current one
# * MaximizeFull - Maximize the focused window horizontally and vertically
# * Shade - Shade (roll up) the client
# * Unshade - Unshade (roll down) the client
# * ToggleShade - Shade and unshade the client
+# * ShadeLower - Shades the window if it's not shaded, and lower it
+# if it was already shaded
+# * UnshadeRaise - Unshades the window if it's shaded, and raise it
+# if it was already unshaded
# * ToggleOmnipresent - Place the client on all desktops or the current one
# * MaximizeFull - Maximize the window horizontally and vertically
# * UnmaximizeFull - Restore the window horizontally and vertically