all repos — openbox @ e2da61b2e7cbaace1f8799ec1fcd506c281892bf

openbox fork - make it a bit more like ryudo

Merge branch 'master' of git://orodu.net/openbox
Mikael Magnusson mikachu@comhem.se
commit

e2da61b2e7cbaace1f8799ec1fcd506c281892bf

parent

8ad51aef1e08623fb97437994d75366a3018e493

M .gitignore.gitignore

@@ -30,7 +30,6 @@ *.lo

*.la missing .dirstamp -openbox/actions/focustobottom.c openbox/openbox parser/obparser-3.0.pc po/Makefile.in.in
M Makefile.amMakefile.am

@@ -162,6 +162,7 @@ openbox/actions/directionalwindows.c \

openbox/actions/execute.c \ openbox/actions/exit.c \ openbox/actions/focus.c \ + openbox/actions/focustobottom.c \ openbox/actions/fullscreen.c \ openbox/actions/growtoedge.c \ openbox/actions/iconify.c \
M openbox/actions/all.copenbox/actions/all.c

@@ -37,4 +37,5 @@ action_layer_startup();

action_movetoedge_startup(); action_growtoedge_startup(); action_if_startup(); + action_focustobottom_startup(); }
M openbox/actions/all.hopenbox/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
A 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; +}
M openbox/actions/unfocus.copenbox/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; }