Merge branch 'backport' into work
[dana/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     /* 3.4-compatibility */
10     actions_register("ShadeLower", NULL, NULL, run_func_sl);
11     actions_register("UnshadeRaise", NULL, NULL, run_func_ur);
12 }
13
14 /* Always return FALSE because its not interactive */
15 static gboolean run_func_sl(ObActionsData *data, gpointer options)
16 {
17     if (data->client) {
18         actions_client_move(data, TRUE);
19         if (data->client->shaded)
20             stacking_lower(CLIENT_AS_WINDOW(data->client));
21         else
22             client_shade(data->client, TRUE);
23         actions_client_move(data, FALSE);
24     }
25     return FALSE;
26 }
27
28 /* Always return FALSE because its not interactive */
29 static gboolean run_func_ur(ObActionsData *data, gpointer options)
30 {
31     if (data->client) {
32         actions_client_move(data, TRUE);
33         if (data->client->shaded)
34             client_shade(data->client, FALSE);
35         else
36             stacking_raise(CLIENT_AS_WINDOW(data->client));
37         actions_client_move(data, FALSE);
38     }
39     return FALSE;
40 }