]> icculus.org git repositories - mikachu/openbox.git/blob - openbox/actions/iconify.c
Merge branch 'work' into wip/mikabox
[mikachu/openbox.git] / openbox / actions / iconify.c
1 #include "openbox/actions.h"
2 #include "openbox/client.h"
3
4 static gboolean run_func(ObActionsData *data, gpointer options);
5 static gpointer setup_func(xmlNodePtr node);
6
7 void action_iconify_startup(void)
8 {
9     actions_register("Iconify",
10                      setup_func,
11                      NULL,
12                      run_func,
13                      NULL, NULL);
14 }
15
16 static gpointer setup_func(xmlNodePtr node)
17 {
18     xmlNodePtr n;
19
20     if ((n = obt_parse_find_node(node, "de")))
21         return GINT_TO_POINTER(obt_parse_node_bool(n));
22 }
23
24 /* Always return FALSE because its not interactive */
25 static gboolean run_func(ObActionsData *data, gpointer options)
26 {
27     if (!actions_client_locked(data)) {
28         actions_client_move(data, TRUE);
29         client_iconify(data->client, !options, FALSE, FALSE);
30         actions_client_move(data, FALSE);
31     }
32
33     return FALSE;
34 }