diff options
| author | Dana Jansens <danakj@orodu.net> | 2007-07-14 09:17:39 -0400 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2007-07-14 09:17:39 -0400 |
| commit | 27a0f0f4c99bab0ceaa496f14c7498b230fcab25 (patch) | |
| tree | 94c9167c4b0a406b66aeb80d4b3c06dda1dce57e /openbox | |
| parent | bc2c2bc3f08ba8b40db10761650633d9de7f1753 (diff) | |
split the focustobottom action back out from unfocus
Diffstat (limited to 'openbox')
| -rw-r--r-- | openbox/actions/all.c | 1 | ||||
| -rw-r--r-- | openbox/actions/all.h | 1 | ||||
| -rw-r--r-- | openbox/actions/focustobottom.c | 17 | ||||
| -rw-r--r-- | openbox/actions/unfocus.c | 40 |
4 files changed, 21 insertions, 38 deletions
diff --git a/openbox/actions/all.c b/openbox/actions/all.c index 430d781d..06858c05 100644 --- a/openbox/actions/all.c +++ b/openbox/actions/all.c @@ -37,4 +37,5 @@ void action_all_startup() action_movetoedge_startup(); action_growtoedge_startup(); action_if_startup(); + action_focustobottom_startup(); } diff --git a/openbox/actions/all.h b/openbox/actions/all.h index 62d3faa8..5f3f573f 100644 --- a/openbox/actions/all.h +++ b/openbox/actions/all.h @@ -38,5 +38,6 @@ void action_layer_startup(); void action_movetoedge_startup(); void action_growtoedge_startup(); void action_if_startup(); +void action_focustobottom_startup(); #endif diff --git a/openbox/actions/focustobottom.c b/openbox/actions/focustobottom.c new file mode 100644 index 00000000..74d48e33 --- /dev/null +++ b/openbox/actions/focustobottom.c @@ -0,0 +1,17 @@ +#include "openbox/actions.h" +#include "openbox/focus.h" + +static gboolean run_func(ObActionsData *data, gpointer options); + +void action_focustobottom_startup() +{ + actions_register("FocusToBottom", NULL, NULL, run_func, NULL, NULL); +} + +/* Always return FALSE because its not interactive */ +static gboolean run_func(ObActionsData *data, gpointer options) +{ + if (data->client) + focus_order_to_bottom(data->client); + return FALSE; +} 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; } |
