aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Mason Larobina <mason.larobina@gmail.com>2009-11-20 21:55:54 +0800
committerGravatar Mason Larobina <mason.larobina@gmail.com>2009-11-20 21:55:54 +0800
commitc2b0b39e0b5529bf083b05aca01521f522f038d8 (patch)
treee140d4c57c5b178d10807c864bad35b40c380b0d
parent699b9e916dad0d6d5d8c21105f8f8cbed53753a4 (diff)
parentfef9c29ed78b87193ad951bf64e962bfa7cff0cd (diff)
Merge branch 'experimental' of git://github.com/robm/uzbl into experimental
-rw-r--r--events.c3
-rw-r--r--events.h2
-rw-r--r--uzbl-core.c18
-rw-r--r--uzbl-core.h3
4 files changed, 24 insertions, 2 deletions
diff --git a/events.c b/events.c
index 99e7dcb..719dc44 100644
--- a/events.c
+++ b/events.c
@@ -42,7 +42,8 @@ const char *event_table[LAST_EVENT] = {
"FOCUS_GAINED" ,
"FILE_INCLUDED" ,
"PLUG_CREATED" ,
- "COMMAND_ERROR"
+ "COMMAND_ERROR" ,
+ "BUILTINS"
};
void
diff --git a/events.h b/events.h
index 9e7a01d..7b8f58b 100644
--- a/events.h
+++ b/events.h
@@ -13,7 +13,7 @@ enum event_type {
INSTANCE_START, INSTANCE_EXIT, LOAD_PROGRESS,
LINK_UNHOVER, FORM_ACTIVE, ROOT_ACTIVE,
FOCUS_LOST, FOCUS_GAINED, FILE_INCLUDED,
- PLUG_CREATED, COMMAND_ERROR,
+ PLUG_CREATED, COMMAND_ERROR, BUILTINS,
/* must be last entry */
LAST_EVENT
diff --git a/uzbl-core.c b/uzbl-core.c
index 2f808b5..e2f550b 100644
--- a/uzbl-core.c
+++ b/uzbl-core.c
@@ -665,6 +665,21 @@ commands_hash(void)
g_hash_table_insert(uzbl.behave.commands, (gpointer) cmdlist[i].key, &cmdlist[i].value);
}
+void
+builtins() {
+ unsigned int i,
+ len = LENGTH(cmdlist);
+ GString *command_list = g_string_new("");
+
+ for (i = 0; i < len; i++) {
+ g_string_append(command_list, cmdlist[i].key);
+ g_string_append_c(command_list, ' ');
+ }
+
+ send_event(BUILTINS, command_list->str, NULL);
+ g_string_free(command_list, TRUE);
+}
+
/* -- CORE FUNCTIONS -- */
bool
@@ -2496,6 +2511,9 @@ main (int argc, char* argv[]) {
g_free(t);
}
+ /* generate an event with a list of built in commands */
+ builtins();
+
gtk_widget_grab_focus (GTK_WIDGET (uzbl.gui.web_view));
if (uzbl.state.verbose) {
diff --git a/uzbl-core.h b/uzbl-core.h
index 82137e3..83fa4b2 100644
--- a/uzbl-core.h
+++ b/uzbl-core.h
@@ -472,6 +472,9 @@ hardcopy(WebKitWebView *page, GArray *argv, GString *result);
void
include(WebKitWebView *page, GArray *argv, GString *result);
+void
+builtins();
+
typedef void (*Command)(WebKitWebView*, GArray *argv, GString *result);
typedef struct {