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);
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);
Arg arg;
updatewinid(c);
- arg = (Arg)DOWNLOAD((char *)webkit_download_get_uri(o));
+ arg = (Arg)DOWNLOAD((char *)webkit_download_get_uri(o), geturi(c));
spawn(c, &arg);
return FALSE;
}
processed = TRUE;
}
}
+
return processed;
}
if(!(c = calloc(1, sizeof(Client))))
die("Cannot malloc!\n");
+
/* Window */
if(embed) {
c->win = gtk_plug_new(embed);
- }
- else {
+ } else {
c->win = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+
/* TA: 20091214: Despite what the GNOME docs say, the ICCCM
* is always correct, so we should still call this function.
* But when doing so, we *must* differentiate between a
gdk_window_set_events(GTK_WIDGET(c->win)->window, GDK_ALL_EVENTS_MASK);
gdk_window_add_filter(GTK_WIDGET(c->win)->window, processx, c);
webkit_web_view_set_full_content_zoom(c->view, TRUE);
+
frame = webkit_web_view_get_main_frame(c->view);
runscript(frame);
settings = webkit_web_view_get_settings(c->view);
g_object_set(G_OBJECT(settings), "auto-load-images", loadimage, NULL);
g_object_set(G_OBJECT(settings), "enable-plugins", plugin, NULL);
g_object_set(G_OBJECT(settings), "enable-scripts", script, NULL);
- g_object_set(G_OBJECT(settings), "enable-spatial-navigation", SPATIAL_BROWSING, NULL);
+ g_object_set(G_OBJECT(settings), "enable-spatial-navigation", spatialbrowsing, NULL);
g_free(uri);
setatom(c, AtomFind, "");
setatom(c, AtomUri, "about:blank");
- if(HIDE_BACKGROUND)
+ if(hidebackground)
webkit_web_view_set_transparent(c->view, TRUE);
c->title = NULL;
}
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);