Add a referer argument to the DOWNLOAD macro. Some sites need this. Thanks
authorChristoph Lohmann <20h@r-36.net>
Tue, 20 Nov 2012 10:53:29 +0000 (11:53 +0100)
committerChristoph Lohmann <20h@r-36.net>
Tue, 20 Nov 2012 10:53:29 +0000 (11:53 +0100)
Hiltjo Posthuma!

config.def.h
surf.c

index d227b80..b71f9c1 100644 (file)
@@ -20,16 +20,22 @@ static int   indicator_thickness = 2;
 static Bool spatialbrowsing = TRUE;
 static Bool hidebackground  = FALSE;
 
-#define SETPROP(p, q)     { .v = (char *[]){ "/bin/sh", "-c", \
+#define SETPROP(p, q) { .v = (char *[]){ "/bin/sh", "-c", \
        "prop=\"`xprop -id $2 $0 | cut -d '\"' -f 2 | dmenu`\" &&" \
        "xprop -id $2 -f $1 8s -set $1 \"$prop\"", \
        p, q, winid, NULL } }
-#define DOWNLOAD(d) {                    \
+
+/* DOWNLOAD(URI, referer) */
+#define DOWNLOAD(d, r) { \
        .v = (char *[]){ "/bin/sh", "-c", \
        "xterm -e \"wget '$0' \
 --load-cookies ~/.surf/cookies.txt \
---user-agent '$1' ; sleep 5\"", d, useragent, NULL } }
+--user-agent '$1' \
+--referer '$2' ; sleep 5\"", d, useragent, NULL } }
+
 #define MODKEY GDK_CONTROL_MASK
+
+/* hotkeys */
 static Key keys[] = {
     /* modifier                    keyval      function    arg             Focus */
     { MODKEY|GDK_SHIFT_MASK,GDK_r,      reload,     { .b = TRUE } },
diff --git a/surf.c b/surf.c
index ec3bee6..3e2e2b0 100644 (file)
--- a/surf.c
+++ b/surf.c
@@ -430,7 +430,7 @@ initdownload(WebKitWebView *view, WebKitDownload *o, Client *c) {
        Arg arg;
 
        updatewinid(c);
-       arg = (Arg)DOWNLOAD((char *)webkit_download_get_uri(o));
+       arg = (Arg)DOWNLOAD((char *)webkit_download_get_uri(o), geturi(c));
        spawn(c, &arg);
        return FALSE;
 }