summaryrefslogtreecommitdiff
path: root/openbox/actions/unfocus.c
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2007-07-14 09:17:39 -0400
committerDana Jansens <danakj@orodu.net>2007-07-14 09:17:39 -0400
commit27a0f0f4c99bab0ceaa496f14c7498b230fcab25 (patch)
tree94c9167c4b0a406b66aeb80d4b3c06dda1dce57e /openbox/actions/unfocus.c
parentbc2c2bc3f08ba8b40db10761650633d9de7f1753 (diff)
split the focustobottom action back out from unfocus
Diffstat (limited to 'openbox/actions/unfocus.c')
-rw-r--r--openbox/actions/unfocus.c40
1 files changed, 2 insertions, 38 deletions
diff --git a/openbox/actions/unfocus.c b/openbox/actions/unfocus.c
index d581864e..70384f4d 100644
--- a/openbox/actions/unfocus.c
+++ b/openbox/actions/unfocus.c
@@ -1,53 +1,17 @@
#include "openbox/actions.h"
#include "openbox/focus.h"
-typedef struct {
- gboolean tobottom;
-} Options;
-
-static gpointer setup_func(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node);
-static void free_func(gpointer options);
static gboolean run_func(ObActionsData *data, gpointer options);
void action_unfocus_startup()
{
- actions_register("Unfocus",
- setup_func,
- free_func,
- run_func,
- NULL, NULL);
-}
-
-static gpointer setup_func(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node)
-{
- xmlNodePtr n;
- Options *o;
-
- o = g_new0(Options, 1);
- o->tobottom = TRUE;
-
- if ((n = parse_find_node("tobottom", node)))
- o->tobottom = parse_bool(doc, n);
- return o;
-}
-
-static void free_func(gpointer options)
-{
- Options *o = options;
-
- g_free(o);
+ actions_register("Unfocus", NULL, NULL, run_func, NULL, NULL);
}
/* Always return FALSE because its not interactive */
static gboolean run_func(ObActionsData *data, gpointer options)
{
- Options *o = options;
-
- if (data->client && data->client == focus_client) {
- if (o->tobottom)
- focus_order_to_bottom(data->client);
+ if (data->client && data->client == focus_client)
focus_fallback(FALSE, FALSE, TRUE);
- }
-
return FALSE;
}