# HG changeset patch # User Hiltjo Posthuma # Date 1353106105 -3600 # Node ID 7f0985ea58673f7139f7474057b5751c48923e71 # Parent ffbff8ee3befc082cce72bd548621af7af524898 support referer for downloads add referer argument to DOWNLOAD macro so it can be set by your favorite download program. Some site check the referer to prevent external linking, if the HTTP referer header isn't passed these downloads won't work. diff -r ffbff8ee3bef -r 7f0985ea5867 config.def.h --- a/config.def.h Fri Nov 16 22:31:36 2012 +0100 +++ b/config.def.h Fri Nov 16 23:48:25 2012 +0100 @@ -24,11 +24,12 @@ "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) { \ +#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, r, NULL } } #define MODKEY GDK_CONTROL_MASK static Key keys[] = { /* modifier keyval function arg Focus */ diff -r ffbff8ee3bef -r 7f0985ea5867 surf.c --- a/surf.c Fri Nov 16 22:31:36 2012 +0100 +++ b/surf.c Fri Nov 16 23:48:25 2012 +0100 @@ -430,7 +430,7 @@ 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; }