Add different progress colors when using proxy.
authorChristoph Lohmann <20h@r-36.net>
Wed, 31 Oct 2012 19:46:38 +0000 (20:46 +0100)
committerChristoph Lohmann <20h@r-36.net>
Wed, 31 Oct 2012 19:46:38 +0000 (20:46 +0100)
config.def.h
surf.c

index 91006f0..6acf38c 100644 (file)
@@ -1,8 +1,11 @@
 /* modifier 0 means no modifier */
 static char *useragent      = "Surf/"VERSION" (X11; U; Unix; en-US) AppleWebKit/531.2+ Compatible (Safari)";
-static char *progress       = "#0066FF";
-static char *progress_untrust = "#FF6600";
+static char *progress       = "#0000FF";
+static char *progress_untrust = "#FF0000";
 static char *progress_trust = "#00FF00";
+static char *progress_proxy = "#FFFF00";
+static char *progress_proxy_trust = "#66FF00";
+static char *progress_proxy_untrust = "#FF6600";
 static char *stylefile      = ".surf/style.css";
 static char *scriptfile     = ".surf/script.js";
 static char *cookiefile     = ".surf/cookies.txt";
@@ -50,3 +53,4 @@ static Key keys[] = {
     { MODKEY,               GDK_n,      find,       { .b = TRUE } },
     { MODKEY|GDK_SHIFT_MASK,GDK_n,      find,       { .b = FALSE } },
 };
+
diff --git a/surf.c b/surf.c
index ae1a935..4247de2 100644 (file)
--- a/surf.c
+++ b/surf.c
@@ -75,7 +75,7 @@ static GdkNativeWindow embed = 0;
 static gboolean showxid = FALSE;
 static char winid[64];
 static char *progname;
-static gboolean loadimage = 1, plugin = 1, script = 1;
+static gboolean loadimage = 1, plugin = 1, script = 1, using_proxy = 0;
 
 static char *buildpath(const char *path);
 static gboolean buttonrelease(WebKitWebView *web, GdkEventButton *e, GList *gl);
@@ -333,6 +333,7 @@ void
 drawindicator(Client *c) {
        gint width;
        const char *uri;
+       char *colorname;
        GtkWidget *w;
        GdkGC *gc;
        GdkColor fg;
@@ -342,11 +343,20 @@ drawindicator(Client *c) {
        width = c->progress * w->allocation.width / 100;
        gc = gdk_gc_new(w->window);
        if(strstr(uri, "https://") == uri) {
-               gdk_color_parse(c->sslfailed ?
-                               progress_untrust : progress_trust, &fg);
+               if(using_proxy) {
+                       colorname = c->sslfailed? progress_proxy_untrust : progress_proxy_trust;
+               } else {
+                       colorname = c->sslfailed? progress_untrust : progress_trust;
+               }
        } else {
-               gdk_color_parse(progress, &fg);
+               if(using_proxy) {
+                       colorname = progress_proxy;
+               } else {
+                       colorname = progress;
+               }
        }
+
+       gdk_color_parse(colorname, &fg);
        gdk_gc_set_rgb_fg_color(gc, &fg);
        gdk_draw_rectangle(w->window,
                        w->style->bg_gc[GTK_WIDGET_STATE(w)],
@@ -816,6 +826,7 @@ setup(void) {
                g_object_set(G_OBJECT(s), "proxy-uri", puri, NULL);
                soup_uri_free(puri);
                g_free(new_proxy);
+               using_proxy = 1;
        }
 }