surf

Simple Web browser based on WebKit/GTK+
git clone git://git.janpasierb.com/surf.git
Log | Files | Refs | README | LICENSE

commit f0f3ddce7673be6d1ee432b1cfe28eace45a622c
parent 7365214bbfd5bddacd0bd00a10104df9d7899c67
Author: Enno Boland (tox) <tox@s01.de>
Date:   Mon,  2 Nov 2009 09:27:32 +0100

adding environment variables for proxy and useragent
Diffstat:
Msurf.c | 13+++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/surf.c b/surf.c @@ -457,7 +457,7 @@ newclient(void) { Client *c; WebKitWebSettings *settings; GdkGeometry hints = { 1, 1 }; - char *uri; + char *uri, *ua; if(!(c = calloc(1, sizeof(Client)))) die("Cannot malloc!\n"); @@ -532,7 +532,9 @@ newclient(void) { gdk_window_add_filter(GTK_WIDGET(c->win)->window, processx, c); webkit_web_view_set_full_content_zoom(c->view, TRUE); settings = webkit_web_view_get_settings(c->view); - g_object_set(G_OBJECT(settings), "user-agent", useragent, NULL); + if(!(ua = getenv("SURF_USERAGENT"))) + ua = useragent; + g_object_set(G_OBJECT(settings), "user-agent", ua, NULL); uri = g_strconcat("file://", stylefile, NULL); g_object_set(G_OBJECT(settings), "user-stylesheet-uri", uri, NULL); g_free(uri); @@ -681,6 +683,8 @@ setatom(Client *c, Atom a, const char *v) { void setup(void) { SoupSession *s; + char *proxy; + SoupURI *puri; /* clean up any zombies immediately */ sigchld(0); @@ -704,6 +708,11 @@ setup(void) { cookies = soup_cookie_jar_new(); soup_session_add_feature(s, SOUP_SESSION_FEATURE(cookies)); g_signal_connect(cookies, "changed", G_CALLBACK(changecookie), NULL); + if((proxy = getenv("http_proxy")) && strcmp(proxy, "")) { + puri = soup_uri_new(proxy); + g_object_set(G_OBJECT(s), "proxy-uri", puri, NULL); + soup_uri_free(puri); + } reloadcookies(); }