aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--uzbl-core.c26
-rw-r--r--uzbl-core.h3
2 files changed, 29 insertions, 0 deletions
diff --git a/uzbl-core.c b/uzbl-core.c
index 94dd762..8710a07 100644
--- a/uzbl-core.c
+++ b/uzbl-core.c
@@ -903,6 +903,7 @@ struct {const char *key; CommandInfo value;} cmdlist[] =
{ "keycmd_bs", {keycmd_bs, 0} },
{ "chain", {chain, 0} },
{ "print", {print, TRUE} },
+ { "event", {event, 0} },
{ "update_gui", {update_gui, TRUE} }
};
@@ -965,6 +966,31 @@ update_gui(WebKitWebView *page, GArray *argv, GString *result) {
}
void
+event(WebKitWebView *page, GArray *argv, GString *result) {
+ (void) page; (void) result;
+ GString *event_name;
+ gchar *event_details = NULL;
+
+ if(argv_idx(argv, 0))
+ event_name = g_string_ascii_up(g_string_new(argv_idx(argv, 0)));
+ else
+ return;
+
+ if(argv_idx(argv, 1))
+ event_details = expand(argv_idx(argv, 1), 0);
+
+ printf("EVENT %s [%s] %s\n",
+ event_name->str,
+ uzbl.state.instance_name,
+ event_details?event_details:"");
+ fflush(stdout);
+
+ g_string_free(event_name, TRUE);
+ if(event_details)
+ g_free(event_details);
+}
+
+void
print(WebKitWebView *page, GArray *argv, GString *result) {
(void) page; (void) result;
gchar* buf;
diff --git a/uzbl-core.h b/uzbl-core.h
index 01eef08..a4cb1ed 100644
--- a/uzbl-core.h
+++ b/uzbl-core.h
@@ -488,6 +488,9 @@ retrieve_geometry();
void
update_gui(WebKitWebView *page, GArray *argv, GString *result);
+void
+event(WebKitWebView *page, GArray *argv, GString *result);
+
gboolean
configure_event_cb(GtkWidget* window, GdkEventConfigure* event);