aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--README1
-rwxr-xr-xexamples/data/uzbl/scripts/download.sh3
-rw-r--r--uzbl.c12
3 files changed, 15 insertions, 1 deletions
diff --git a/README b/README
index fe92bcf..5aa6998 100644
--- a/README
+++ b/README
@@ -365,6 +365,7 @@ The script specific arguments are this:
* download:
$8 url of item to download
+ $9 url of http proxy (optional)
* cookie handler
diff --git a/examples/data/uzbl/scripts/download.sh b/examples/data/uzbl/scripts/download.sh
index aa1ca09..c8eb6ba 100755
--- a/examples/data/uzbl/scripts/download.sh
+++ b/examples/data/uzbl/scripts/download.sh
@@ -8,6 +8,9 @@ GET="wget --user-agent=Firefox"
dest="$HOME"
url="$8"
+http_proxy="$9"
+export http_proxy
+
test "x$url" = "x" && { echo "you must supply a url! ($url)"; exit 1; }
# only changes the dir for the $get sub process
diff --git a/uzbl.c b/uzbl.c
index 8de3faf..46db4a9 100644
--- a/uzbl.c
+++ b/uzbl.c
@@ -604,7 +604,17 @@ download_cb (WebKitWebView *web_view, GObject *download, gpointer user_data) {
if (uzbl.state.verbose)
printf("Download -> %s\n",uri);
/* if urls not escaped, we may have to escape and quote uri before this call */
- run_handler(uzbl.behave.download_handler, uri);
+
+ GString *args = g_string_new(uri);
+
+ if (uzbl.net.proxy_url) {
+ g_string_append_c(args, ' ');
+ g_string_append(args, uzbl.net.proxy_url);
+ }
+
+ run_handler(uzbl.behave.download_handler, args->str);
+
+ g_string_free(args, TRUE);
}
return (FALSE);
}