tRemoved progress indicator - surf - customized build of surf, the suckless web… | |
git clone git://src.adamsgaard.dk/surf | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 3c1ed5d56af13f09a81beb00c59464972c36b2f0 | |
parent 27dac4a157357a69c51c0eabeb017c96ee14cc28 | |
Author: Jens Nyberg <[email protected]> | |
Date: Tue, 12 Feb 2013 20:36:56 +0100 | |
Removed progress indicator | |
This removes the progress indicator and replaces it with | |
letters in the window title. | |
T/U: Trusted, Untrusted | |
P/-: Proxy, No proxy | |
Signed-off-by: Christoph Lohmann <[email protected]> | |
Diffstat: | |
M config.def.h | 7 ------- | |
M surf.c | 78 ++++++-----------------------… | |
2 files changed, 13 insertions(+), 72 deletions(-) | |
--- | |
diff --git a/config.def.h b/config.def.h | |
t@@ -2,19 +2,12 @@ | |
static char *useragent = "Mozilla/5.0 (X11; U; Unix; en-US) " | |
"AppleWebKit/537.15 (KHTML, like Gecko) Chrome/24.0.1295.0 " | |
"Safari/537.15 Surf/"VERSION; | |
-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"; | |
static time_t sessiontime = 3600; | |
static char *cafile = "/etc/ssl/certs/ca-certificates.crt"; | |
static char *strictssl = FALSE; /* Refuse untrusted SSL connections */ | |
-static int indicator_thickness = 2; | |
/* Webkit default features */ | |
static Bool enablespatialbrowsing = TRUE; | |
diff --git a/surf.c b/surf.c | |
t@@ -42,7 +42,7 @@ union Arg { | |
}; | |
typedef struct Client { | |
- GtkWidget *win, *scroll, *vbox, *indicator, *pane; | |
+ GtkWidget *win, *scroll, *vbox, *pane; | |
WebKitWebView *view; | |
WebKitWebInspector *inspector; | |
char *title, *linkhover; | |
t@@ -84,6 +84,7 @@ static gboolean showxid = FALSE; | |
static char winid[64]; | |
static gboolean usingproxy = 0; | |
static char togglestat[5]; | |
+static char pagestat[2]; | |
static void beforerequest(WebKitWebView *w, WebKitWebFrame *f, | |
WebKitWebResource *r, WebKitNetworkRequest *req, | |
t@@ -113,13 +114,12 @@ static gboolean decidewindow(WebKitWebView *v, WebKitWeb… | |
static void destroyclient(Client *c); | |
static void destroywin(GtkWidget* w, Client *c); | |
static void die(const char *errstr, ...); | |
-static void drawindicator(Client *c); | |
static void eval(Client *c, const Arg *arg); | |
-static gboolean exposeindicator(GtkWidget *w, GdkEventExpose *e, Client *c); | |
static void find(Client *c, const Arg *arg); | |
static void fullscreen(Client *c, const Arg *arg); | |
static const char *getatom(Client *c, int a); | |
static void gettogglestat(Client *c); | |
+static void getpagestat(Client *c); | |
static char *geturi(Client *c); | |
static gboolean initdownload(WebKitWebView *v, WebKitDownload *o, Client *c); | |
t@@ -370,7 +370,6 @@ destroyclient(Client *c) { | |
Client *p; | |
webkit_web_view_stop_loading(c->view); | |
- gtk_widget_destroy(c->indicator); | |
gtk_widget_destroy(GTK_WIDGET(c->view)); | |
gtk_widget_destroy(c->scroll); | |
gtk_widget_destroy(c->vbox); | |
t@@ -403,51 +402,6 @@ die(const char *errstr, ...) { | |
} | |
static void | |
-drawindicator(Client *c) { | |
- gint width; | |
- const char *uri; | |
- char *colorname; | |
- GtkWidget *w; | |
- GdkGC *gc; | |
- GdkColor fg; | |
- | |
- uri = geturi(c); | |
- w = c->indicator; | |
- width = c->progress * w->allocation.width / 100; | |
- gc = gdk_gc_new(w->window); | |
- if(strstr(uri, "https://") == uri) { | |
- if(usingproxy) { | |
- colorname = c->sslfailed? progress_proxy_untrust : | |
- progress_proxy_trust; | |
- } else { | |
- colorname = c->sslfailed? progress_untrust : | |
- progress_trust; | |
- } | |
- } else { | |
- if(usingproxy) { | |
- 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)], | |
- TRUE, 0, 0, w->allocation.width, w->allocation.height); | |
- gdk_draw_rectangle(w->window, gc, TRUE, 0, 0, width, | |
- w->allocation.height); | |
- g_object_unref(gc); | |
-} | |
- | |
-static gboolean | |
-exposeindicator(GtkWidget *w, GdkEventExpose *e, Client *c) { | |
- drawindicator(c); | |
- return TRUE; | |
-} | |
- | |
-static void | |
find(Client *c, const Arg *arg) { | |
const char *s; | |
t@@ -739,21 +693,12 @@ newclient(void) { | |
"resource-request-starting", | |
G_CALLBACK(beforerequest), c); | |
- /* Indicator */ | |
- c->indicator = gtk_drawing_area_new(); | |
- gtk_widget_set_size_request(c->indicator, 0, indicator_thickness); | |
- g_signal_connect (G_OBJECT (c->indicator), "expose_event", | |
- G_CALLBACK (exposeindicator), c); | |
- | |
/* Arranging */ | |
gtk_container_add(GTK_CONTAINER(c->scroll), GTK_WIDGET(c->view)); | |
gtk_container_add(GTK_CONTAINER(c->win), c->pane); | |
gtk_container_add(GTK_CONTAINER(c->vbox), c->scroll); | |
- gtk_container_add(GTK_CONTAINER(c->vbox), c->indicator); | |
/* Setup */ | |
- gtk_box_set_child_packing(GTK_BOX(c->vbox), c->indicator, FALSE, | |
- FALSE, 0, GTK_PACK_START); | |
gtk_box_set_child_packing(GTK_BOX(c->vbox), c->scroll, TRUE, | |
TRUE, 0, GTK_PACK_START); | |
gtk_widget_grab_focus(GTK_WIDGET(c->view)); | |
t@@ -1117,23 +1062,26 @@ gettogglestat(Client *c){ | |
togglestat[4] = '\0'; | |
} | |
+static void | |
+getpagestat(Client *c) { | |
+ pagestat[0] = c->sslfailed ? 'U' : 'T'; | |
+ pagestat[1] = usingproxy ? 'P' : '-'; | |
+} | |
static void | |
update(Client *c) { | |
char *t; | |
gettogglestat(c); | |
+ getpagestat(c); | |
if(c->linkhover) { | |
- t = g_strdup_printf("%s| %s", togglestat, c->linkhover); | |
+ t = g_strdup_printf("%s:%s | %s", togglestat, pagestat, c->lin… | |
} else if(c->progress != 100) { | |
- drawindicator(c); | |
- gtk_widget_show(c->indicator); | |
- t = g_strdup_printf("[%i%%] %s| %s", c->progress, togglestat, | |
- c->title); | |
+ t = g_strdup_printf("[%i%%] %s:%s | %s", c->progress, togglest… | |
+ pagestat, c->title); | |
} else { | |
- gtk_widget_hide_all(c->indicator); | |
- t = g_strdup_printf("%s| %s", togglestat, c->title); | |
+ t = g_strdup_printf("%s:%s | %s", togglestat, pagestat, c->tit… | |
} | |
gtk_window_set_title(GTK_WINDOW(c->win), t); |