X-Git-Url: https://git.danieliu.xyz/?a=blobdiff_plain;f=surf.c;h=e325126ae640de3fbc5ff31fc67a167e583aa211;hb=083ea8ecde50314cca961c7596a7ab43fc90223e;hp=56bf6b0d35e4efdd7970299d1837df392fbacab1;hpb=bccfe2a9a553784aa0b50fb63aa198be906d8cae;p=surf.git diff --git a/surf.c b/surf.c index 56bf6b0..e325126 100644 --- a/surf.c +++ b/surf.c @@ -80,7 +80,7 @@ static gboolean usingproxy = 0; static char togglestat[6]; static char pagestat[3]; -static void add_accels(Client *c); +static void addaccelgroup(Client *c); static void beforerequest(WebKitWebView *w, WebKitWebFrame *f, WebKitWebResource *r, WebKitNetworkRequest *req, WebKitNetworkResponse *resp, gpointer d); @@ -158,7 +158,7 @@ static void titlechange(WebKitWebView *v, WebKitWebFrame *frame, static void toggle(Client *c, const Arg *arg); static void togglescrollbars(Client *c, const Arg *arg); static void togglestyle(Client *c, const Arg *arg); -static void update(Client *c); +static void updatetitle(Client *c); static void updatewinid(Client *c); static void usage(void); static void windowobjectcleared(GtkWidget *w, WebKitWebFrame *frame, @@ -169,11 +169,13 @@ static void zoom(Client *c, const Arg *arg); #include "config.h" static void -add_accels(Client *c) { +addaccelgroup(Client *c) { int i; GtkAccelGroup *group = gtk_accel_group_new(); + GClosure *closure; + for(i = 0; i < LENGTH(keys); i++) { - GClosure *closure = g_cclosure_new(G_CALLBACK(keypress), c, NULL); + closure = g_cclosure_new(G_CALLBACK(keypress), c, NULL); gtk_accel_group_connect(group, keys[i].keyval, keys[i].mod, 0, closure); } @@ -557,7 +559,7 @@ linkhover(WebKitWebView *v, const char* t, const char* l, Client *c) { free(c->linkhover); c->linkhover = NULL; } - update(c); + updatetitle(c); } static void @@ -583,7 +585,7 @@ loadstatuschange(WebKitWebView *view, GParamSpec *pspec, Client *c) { break; case WEBKIT_LOAD_FINISHED: c->progress = 100; - update(c); + updatetitle(c); break; default: break; @@ -618,7 +620,7 @@ loaduri(Client *c, const Arg *arg) { c->progress = 0; c->title = copystr(&c->title, u); g_free(u); - update(c); + updatetitle(c); } } @@ -663,9 +665,9 @@ newclient(void) { g_signal_connect(G_OBJECT(c->win), "destroy", G_CALLBACK(destroywin), c); - if(!kioskmode) { - add_accels(c); - } + + if(!kioskmode) + addaccelgroup(c); /* Pane */ c->pane = gtk_vpaned_new(); @@ -922,7 +924,7 @@ processx(GdkXEvent *e, GdkEvent *event, gpointer d) { static void progresschange(WebKitWebView *view, GParamSpec *pspec, Client *c) { c->progress = webkit_web_view_get_progress(c->view) * 100; - update(c); + updatetitle(c); } static void @@ -1070,7 +1072,7 @@ stop(Client *c, const Arg *arg) { static void titlechange(WebKitWebView *v, WebKitWebFrame *f, const char *t, Client *c) { c->title = copystr(&c->title, t); - update(c); + updatetitle(c); } static void @@ -1135,7 +1137,7 @@ togglestyle(Client *c, const Arg *arg) { uri = uri[0] ? g_strdup("") : g_strconcat("file://", stylefile, NULL); g_object_set(G_OBJECT(settings), "user-stylesheet-uri", uri, NULL); - update(c); + updatetitle(c); } static void @@ -1179,23 +1181,29 @@ getpagestat(Client *c) { } static void -update(Client *c) { +updatetitle(Client *c) { char *t; - gettogglestat(c); - getpagestat(c); + if(showindicators) { + gettogglestat(c); + getpagestat(c); - if(c->linkhover) { - t = g_strdup_printf("%s:%s | %s", togglestat, pagestat, c->linkhover); - } else if(c->progress != 100) { - t = g_strdup_printf("[%i%%] %s:%s | %s", c->progress, togglestat, - pagestat, c->title); + if(c->linkhover) { + t = g_strdup_printf("%s:%s | %s", togglestat, + pagestat, c->linkhover); + } else if(c->progress != 100) { + t = g_strdup_printf("[%i%%] %s:%s | %s", c->progress, + togglestat, pagestat, c->title); + } else { + t = g_strdup_printf("%s:%s | %s", togglestat, pagestat, + c->title); + } + + gtk_window_set_title(GTK_WINDOW(c->win), t); + g_free(t); } else { - t = g_strdup_printf("%s:%s | %s", togglestat, pagestat, c->title); + gtk_window_set_title(GTK_WINDOW(c->win), c->title); } - - gtk_window_set_title(GTK_WINDOW(c->win), t); - g_free(t); } static void