Merge branch 'backport' into 3.4-working
[mikachu/openbox.git] / openbox / actions / shadelowerraise.c
1 #include "openbox/actions.h"
2 #include "openbox/client.h"
3
4 static gboolean run_func_sl(ObActionsData *data, gpointer options);
5 static gboolean run_func_ur(ObActionsData *data, gpointer options);
6
7 void action_shadelowerraise_startup()
8 {
9     actions_register("ShadeLower", NULL, NULL, run_func_sl, NULL, NULL);
10     actions_register("UnshadeRaise", NULL, NULL, run_func_ur, NULL, NULL);
11 }
12
13 /* Always return FALSE because its not interactive */
14 static gboolean run_func_sl(ObActionsData *data, gpointer options)
15 {
16     if (data->client) {
17         actions_client_move(data, TRUE);
18         if (data->client->shaded)
19             stacking_lower(CLIENT_AS_WINDOW(data->client));
20         else
21             client_shade(data->client, TRUE);
22         actions_client_move(data, FALSE);
23     }
24     return FALSE;
25 }
26
27 /* Always return FALSE because its not interactive */
28 static gboolean run_func_ur(ObActionsData *data, gpointer options)
29 {
30     if (data->client) {
31         actions_client_move(data, TRUE);
32         if (data->client->shaded)
33             client_shade(data->client, FALSE);
34         else
35             stacking_raise(CLIENT_AS_WINDOW(data->client));
36         actions_client_move(data, FALSE);
37     }
38     return FALSE;
39 }