X-Git-Url: https://git.danieliu.xyz/?a=blobdiff_plain;f=surf.c;h=100a1f095d72069925f4afc9af49435e8cb47eda;hb=6d9d3ca4e133745925945a00d5e0c881b58c3a62;hp=7fa0eb6330ba50c50a27e9fd354c555a0e7d21f1;hpb=a283fa4bc93167c0f59fcd32bd19a6729d8e057d;p=surf.git diff --git a/surf.c b/surf.c index 7fa0eb6..100a1f0 100644 --- a/surf.c +++ b/surf.c @@ -79,6 +79,7 @@ static GdkNativeWindow embed = 0; static gboolean showxid = FALSE; static char winid[64]; static gboolean loadimage = 1, plugin = 1, script = 1, using_proxy = 0; +static char togglestat[5]; static char *buildpath(const char *path); static gboolean buttonrelease(WebKitWebView *web, GdkEventButton *e, GList *gl); @@ -127,6 +128,7 @@ static void eval(Client *c, const Arg *arg); static void stop(Client *c, const Arg *arg); static void titlechange(WebKitWebView *v, WebKitWebFrame* frame, const char* title, Client *c); static void toggle(Client *c, const Arg *arg); +static void gettogglestat(Client *c); static void update(Client *c); static void updatewinid(Client *c); static void usage(void); @@ -447,6 +449,7 @@ keypress(GtkWidget* w, GdkEventKey *ev, Client *c) { processed = TRUE; } } + return processed; } @@ -891,32 +894,53 @@ titlechange(WebKitWebView *v, WebKitWebFrame *f, const char *t, Client *c) { } void -toggle(Client *c, const Arg *arg) { - WebKitWebSettings *settings; - char *name = (char *)arg->v; - gboolean value; - Arg a = { .b = FALSE }; +toggle(Client *c, const Arg *arg) { + WebKitWebSettings *settings; + char *name = (char *)arg->v; + gboolean value; + Arg a = { .b = FALSE }; - settings = webkit_web_view_get_settings(c->view); - g_object_get(G_OBJECT(settings), name, &value, NULL); - g_object_set(G_OBJECT(settings), name, !value, NULL); + settings = webkit_web_view_get_settings(c->view); + g_object_get(G_OBJECT(settings), name, &value, NULL); + g_object_set(G_OBJECT(settings), name, !value, NULL); - reload(c,&a); + reload(c,&a); } +void +gettogglestat(Client *c){ + gboolean value; + WebKitWebSettings *settings = webkit_web_view_get_settings(c->view); + + togglestat[4] = '\0'; + g_object_get(G_OBJECT(settings), "auto-load-images", &value, NULL); + togglestat[0] = value?'I':'i'; + g_object_get(G_OBJECT(settings), "enable-scripts", &value, NULL); + togglestat[1] = value?'S':'s'; + g_object_get(G_OBJECT(settings), "enable-plugins", &value, NULL); + togglestat[2] = value?'V':'v'; + g_object_get(G_OBJECT(settings), "enable-caret-browsing", + &value, NULL); + togglestat[3] = value?'C':'c'; +} + + void update(Client *c) { char *t; + gettogglestat(c); + if(c->linkhover) { - t = g_strdup(c->linkhover); + t = g_strdup_printf("%s| %s", togglestat, c->linkhover); } else if(c->progress != 100) { drawindicator(c); gtk_widget_show(c->indicator); - t = g_strdup_printf("[%i%%] %s", c->progress, c->title); + t = g_strdup_printf("[%i%%] %s| %s", c->progress, togglestat, + c->title); } else { gtk_widget_hide_all(c->indicator); - t = g_strdup(c->title); + t = g_strdup_printf("%s| %s", togglestat, c->title); } gtk_window_set_title(GTK_WINDOW(c->win), t);