split the focustobottom action back out from unfocus
authorDana Jansens <danakj@orodu.net>
Sat, 14 Jul 2007 13:17:39 +0000 (09:17 -0400)
committerDana Jansens <danakj@orodu.net>
Sat, 14 Jul 2007 13:17:39 +0000 (09:17 -0400)
.gitignore
Makefile.am
openbox/actions/all.c
openbox/actions/all.h
openbox/actions/focustobottom.c [new file with mode: 0644]
openbox/actions/unfocus.c

index 6563e00..8ec02cf 100644 (file)
@@ -30,7 +30,6 @@ m4/*.m4
 *.la
 missing
 .dirstamp
 *.la
 missing
 .dirstamp
-openbox/actions/focustobottom.c
 openbox/openbox
 parser/obparser-3.0.pc
 po/Makefile.in.in
 openbox/openbox
 parser/obparser-3.0.pc
 po/Makefile.in.in
index a4ebcc8..07c7ce6 100644 (file)
@@ -162,6 +162,7 @@ openbox_openbox_SOURCES = \
        openbox/actions/execute.c \
        openbox/actions/exit.c \
        openbox/actions/focus.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 \
        openbox/actions/fullscreen.c \
        openbox/actions/growtoedge.c \
        openbox/actions/iconify.c \
index 430d781..06858c0 100644 (file)
@@ -37,4 +37,5 @@ void action_all_startup()
     action_movetoedge_startup();
     action_growtoedge_startup();
     action_if_startup();
     action_movetoedge_startup();
     action_growtoedge_startup();
     action_if_startup();
+    action_focustobottom_startup();
 }
 }
index 62d3faa..5f3f573 100644 (file)
@@ -38,5 +38,6 @@ void action_layer_startup();
 void action_movetoedge_startup();
 void action_growtoedge_startup();
 void action_if_startup();
 void action_movetoedge_startup();
 void action_growtoedge_startup();
 void action_if_startup();
+void action_focustobottom_startup();
 
 #endif
 
 #endif
diff --git a/openbox/actions/focustobottom.c b/openbox/actions/focustobottom.c
new file mode 100644 (file)
index 0000000..74d48e3
--- /dev/null
@@ -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;
+}
index d581864..70384f4 100644 (file)
@@ -1,53 +1,17 @@
 #include "openbox/actions.h"
 #include "openbox/focus.h"
 
 #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()
 {
 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)
 {
 }
 
 /* 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);
         focus_fallback(FALSE, FALSE, TRUE);
-    }
-
     return FALSE;
 }
     return FALSE;
 }