Add 'chain' action for binding multiple actions
authorDuClare <akarinotengoku@gmail.com>
Thu, 28 May 2009 15:46:29 +0000 (18:46 +0300)
committerDuClare <akarinotengoku@gmail.com>
Thu, 28 May 2009 15:46:29 +0000 (18:46 +0300)
uzbl.c
uzbl.h

diff --git a/uzbl.c b/uzbl.c
index 371b40f..a064e99 100644 (file)
--- a/uzbl.c
+++ b/uzbl.c
@@ -570,7 +570,8 @@ static struct {char *name; Command command[2];} cmdlist[] =
     { "dump_config",        {act_dump_config, 0}           },
     { "keycmd",             {keycmd, NOSPLIT}              },
     { "keycmd_nl",          {keycmd_nl, NOSPLIT}           },
-    { "keycmd_bs",          {keycmd_bs, 0}                 }
+    { "keycmd_bs",          {keycmd_bs, 0}                 },
+    { "chain",              {chain, 0}                     }
 };
 
 static void
@@ -750,6 +751,19 @@ new_window_load_uri (const gchar * uri) {
 }
 
 static void
+chain (WebKitWebView *page, GArray *argv) {
+    (void)page;
+    gchar *a = NULL;
+    gchar **parts = NULL;
+    guint i = 0;    
+    while ((a = argv_idx(argv, i++))) {
+        parts = g_strsplit (a, " ", 2);
+        parse_command(parts[0], parts[1]);
+        g_strfreev (parts);
+    }
+}
+
+static void
 keycmd (WebKitWebView *page, GArray *argv) {
     (void)page;
     (void)argv;
diff --git a/uzbl.h b/uzbl.h
index fe63b3c..a36b3f7 100644 (file)
--- a/uzbl.h
+++ b/uzbl.h
@@ -305,6 +305,9 @@ static void
 new_window_load_uri (const gchar * uri);
 
 static void
+chain (WebKitWebView *page, GArray *argv);
+
+static void
 keycmd (WebKitWebView *page, GArray *argv);
 
 static void