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 update(Client *c);
static void updatewinid(Client *c);
static void usage(void);
linkhover(WebKitWebView *v, const char* t, const char* l, Client *c) {
if(l) {
c->linkhover = copystr(&c->linkhover, l);
- }
- else if(c->linkhover) {
+ } else if(c->linkhover) {
free(c->linkhover);
c->linkhover = NULL;
}
/* prevents endless loop */
if(c->uri && strcmp(u, c->uri) == 0) {
reload(c, &a);
- }
- else {
+ } else {
webkit_web_view_load_uri(c->view, u);
c->progress = 0;
c->title = copystr(&c->title, u);
update(c);
}
+void
+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);
+
+ reload(c,&a);
+}
+
void
update(Client *c) {
char *t;
gtk_widget_hide_all(c->indicator);
t = g_strdup(c->title);
}
+
gtk_window_set_title(GTK_WINDOW(c->win), t);
g_free(t);
}
main(int argc, char *argv[]) {
Arg arg;
+ memset(&arg, 0, sizeof(arg));
+
/* command line args */
ARGBEGIN {
case 'c':
newclient();
if(arg.v)
loaduri(clients, &arg);
+
gtk_main();
cleanup();