- if (data->client.any.c) {
- 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);
- }
- }
-}
-
-void action_lower(union ActionData *data)
-{
- if (data->client.any.c) {
- client_action_start(data);
- stacking_lower(CLIENT_AS_WINDOW(data->client.any.c));
- client_action_end(data);
- }
-}
-
-void action_close(union ActionData *data)
-{
- if (data->client.any.c)
- client_close(data->client.any.c);
-}
-
-void action_kill(union ActionData *data)
-{
- if (data->client.any.c)
- client_kill(data->client.any.c);
-}
-
-void action_shade(union ActionData *data)
-{
- if (data->client.any.c) {
- client_action_start(data);
- client_shade(data->client.any.c, TRUE);
- client_action_end(data);
- }
-}
-
-void action_unshade(union ActionData *data)
-{
- if (data->client.any.c) {
- client_action_start(data);
- client_shade(data->client.any.c, FALSE);
- client_action_end(data);
- }
-}
-
-void action_toggle_shade(union ActionData *data)
-{
- if (data->client.any.c) {
- client_action_start(data);
- client_shade(data->client.any.c, !data->client.any.c->shaded);
- client_action_end(data);
- }
-}
-
-void action_toggle_omnipresent(union ActionData *data)
-{
- if (data->client.any.c)
- client_set_desktop(data->client.any.c,
- data->client.any.c->desktop == DESKTOP_ALL ?
- screen_desktop : DESKTOP_ALL, FALSE);
-}
-
-void action_move_relative_horz(union ActionData *data)
-{
- ObClient *c = data->relative.any.c;
- if (c) {
- client_action_start(data);
- client_move(c, c->area.x + data->relative.delta, c->area.y);
- client_action_end(data);
- }
-}
-
-void action_move_relative_vert(union ActionData *data)
-{
- ObClient *c = data->relative.any.c;
- if (c) {
- client_action_start(data);
- client_move(c, c->area.x, c->area.y + data->relative.delta);
- client_action_end(data);
- }
-}
-
-void action_resize_relative_horz(union ActionData *data)
-{
- ObClient *c = data->relative.any.c;
- if (c) {
- client_action_start(data);
- client_resize(c,
- c->area.width + data->relative.delta * c->size_inc.width,
- c->area.height);
- client_action_end(data);
- }
-}
-
-void action_resize_relative_vert(union ActionData *data)
-{
- ObClient *c = data->relative.any.c;
- if (c && !c->shaded) {
- client_action_start(data);
- client_resize(c, c->area.width, c->area.height +
- data->relative.delta * c->size_inc.height);
- client_action_end(data);
- }
-}
-
-void action_maximize_full(union ActionData *data)
-{
- if (data->client.any.c) {
- client_action_start(data);
- client_maximize(data->client.any.c, TRUE, 0, TRUE);
- client_action_end(data);
- }
-}
-
-void action_unmaximize_full(union ActionData *data)
-{
- if (data->client.any.c) {
- client_action_start(data);
- client_maximize(data->client.any.c, FALSE, 0, TRUE);
- client_action_end(data);
- }
-}
-
-void action_toggle_maximize_full(union ActionData *data)
-{
- if (data->client.any.c) {
- client_action_start(data);
- client_maximize(data->client.any.c,
- !(data->client.any.c->max_horz ||
- data->client.any.c->max_vert),
- 0, TRUE);
- client_action_end(data);
- }
-}
-
-void action_maximize_horz(union ActionData *data)
-{
- if (data->client.any.c) {
- client_action_start(data);
- client_maximize(data->client.any.c, TRUE, 1, TRUE);
- client_action_end(data);
- }
-}
-
-void action_unmaximize_horz(union ActionData *data)
-{
- if (data->client.any.c) {
- client_action_start(data);
- client_maximize(data->client.any.c, FALSE, 1, TRUE);
- client_action_end(data);
- }
-}
-
-void action_toggle_maximize_horz(union ActionData *data)
-{
- if (data->client.any.c) {
- client_action_start(data);
- client_maximize(data->client.any.c,
- !data->client.any.c->max_horz, 1, TRUE);
- client_action_end(data);
- }
-}
-
-void action_maximize_vert(union ActionData *data)
-{
- if (data->client.any.c) {
- client_action_start(data);
- client_maximize(data->client.any.c, TRUE, 2, TRUE);
- client_action_end(data);
- }
-}
-
-void action_unmaximize_vert(union ActionData *data)
-{
- if (data->client.any.c) {
- client_action_start(data);
- client_maximize(data->client.any.c, FALSE, 2, TRUE);
- client_action_end(data);
- }