Introduction
Introduction Statistics Contact Development Disclaimer Help
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);
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.