aboutsummaryrefslogtreecommitdiffhomepage
path: root/uzbl-core.c
diff options
context:
space:
mode:
authorGravatar keis <keijser@gmail.com>2009-10-28 16:08:14 +0100
committerGravatar keis <keijser@gmail.com>2009-10-28 16:08:14 +0100
commit9fe687b21c31dd56a398f30c946bd354cb6b169f (patch)
tree5cc4ec0e88bb101316967618574ca20814d75c03 /uzbl-core.c
parentf5ca0aa5c05df75dd3268e85feb8947b92486aaf (diff)
parent9d7ae1b21aefac2cf5418667bd150c110bf8932e (diff)
Merge branch 'experimental' of git://github.com/Dieterbe/uzbl into prompt
Diffstat (limited to 'uzbl-core.c')
-rw-r--r--uzbl-core.c32
1 files changed, 18 insertions, 14 deletions
diff --git a/uzbl-core.c b/uzbl-core.c
index 1480491..3a59574 100644
--- a/uzbl-core.c
+++ b/uzbl-core.c
@@ -103,9 +103,9 @@ const struct var_name_to_ptr_t {
{ "load_start_handler", PTR_V_STR(uzbl.behave.load_start_handler, 1, NULL)},
{ "load_commit_handler", PTR_V_STR(uzbl.behave.load_commit_handler, 1, NULL)},
{ "download_handler", PTR_V_STR(uzbl.behave.download_handler, 1, NULL)},
- { "cookie_handler", PTR_V_STR(uzbl.behave.cookie_handler, 1, cmd_cookie_handler)},
+ { "cookie_handler", PTR_V_STR(uzbl.behave.cookie_handler, 1, NULL)},
{ "new_window", PTR_V_STR(uzbl.behave.new_window, 1, NULL)},
- { "scheme_handler", PTR_V_STR(uzbl.behave.scheme_handler, 1, cmd_scheme_handler)},
+ { "scheme_handler", PTR_V_STR(uzbl.behave.scheme_handler, 1, NULL)},
{ "fifo_dir", PTR_V_STR(uzbl.behave.fifo_dir, 1, cmd_fifo_dir)},
{ "socket_dir", PTR_V_STR(uzbl.behave.socket_dir, 1, cmd_socket_dir)},
{ "http_debug", PTR_V_INT(uzbl.behave.http_debug, 1, cmd_http_debug)},
@@ -623,7 +623,6 @@ struct {const char *key; CommandInfo value;} cmdlist[] =
{ "print", {print, TRUE} },
{ "event", {event, TRUE} },
{ "request", {event, TRUE} },
- { "update_gui", {update_gui, TRUE} },
{ "menu_add", {menu_add, TRUE} },
{ "menu_link_add", {menu_add_link, TRUE} },
{ "menu_image_add", {menu_add_image, TRUE} },
@@ -669,13 +668,6 @@ set_var(WebKitWebView *page, GArray *argv, GString *result) {
}
void
-update_gui(WebKitWebView *page, GArray *argv, GString *result) {
- (void) page; (void) argv; (void) result;
-
- update_title();
-}
-
-void
add_to_menu(GArray *argv, guint context) {
GUI *g = &uzbl.gui;
MenuItem *m;
@@ -1229,8 +1221,9 @@ void
spawn(WebKitWebView *web_view, GArray *argv, GString *result) {
(void)web_view; (void)result;
gchar *path = NULL;
+
//TODO: allow more control over argument order so that users can have some arguments before the default ones from run_command, and some after
- if ( argv_idx(argv, 0) &&
+ if (argv_idx(argv, 0) &&
((path = find_existing_file(argv_idx(argv, 0)))) ) {
run_command(path, 0,
((const gchar **) (argv->data + sizeof(gchar*))),
@@ -1242,10 +1235,15 @@ spawn(WebKitWebView *web_view, GArray *argv, GString *result) {
void
spawn_sync(WebKitWebView *web_view, GArray *argv, GString *result) {
(void)web_view; (void)result;
+ gchar *path = NULL;
- if (argv_idx(argv, 0))
- run_command(argv_idx(argv, 0), 0, ((const gchar **) (argv->data + sizeof(gchar*))),
+ if (argv_idx(argv, 0) &&
+ ((path = find_existing_file(argv_idx(argv, 0)))) ) {
+ run_command(path, 0,
+ ((const gchar **) (argv->data + sizeof(gchar*))),
TRUE, &uzbl.comm.sync_stdout);
+ g_free(path);
+ }
}
void
@@ -1531,6 +1529,7 @@ set_var_value(const gchar *name, gchar *val) {
send_event(VARIABLE_SET, msg->str, NULL);
g_string_free(msg,TRUE);
}
+ update_title();
return TRUE;
}
@@ -2051,10 +2050,15 @@ run_handler (const gchar *act, const gchar *args) {
g_strfreev(chainparts);
} else {
- gchar **inparts = inject_handler_args(parts[0], parts[1], args);
+ /* expand the user-specified arguments */
+ gchar* expanded = expand(parts[1], 0);
+ gchar **inparts = inject_handler_args(parts[0], expanded, args);
+
parse_command(inparts[0], inparts[1], NULL);
+
g_free(inparts[0]);
g_free(inparts[1]);
+ g_free(expanded);
}
g_strfreev(parts);
}