diff options
author | Christoph Lohmann <20h@r-36.net> | 2012-11-15 14:52:22 +0100 |
---|---|---|
committer | Christoph Lohmann <20h@r-36.net> | 2012-11-15 14:52:22 +0100 |
commit | a283fa4bc93167c0f59fcd32bd19a6729d8e057d (patch) | |
tree | cf60f1338428b92cf043ceb78fe92920ae487f3c | |
parent | 244dfd3231d989909566727b9e20d10cdff88a20 (diff) | |
download | surf-a283fa4bc93167c0f59fcd32bd19a6729d8e057d.tar.gz surf-a283fa4bc93167c0f59fcd32bd19a6729d8e057d.tar.bz2 surf-a283fa4bc93167c0f59fcd32bd19a6729d8e057d.zip |
Importing the generic toggle patch of stanio@cs.tu-berlin.de. Thanks!
-rw-r--r-- | config.def.h | 4 | ||||
-rw-r--r-- | surf.c | 15 |
2 files changed, 19 insertions, 0 deletions
diff --git a/config.def.h b/config.def.h index 3fb13b0..5f554ff 100644 --- a/config.def.h +++ b/config.def.h @@ -52,5 +52,9 @@ static Key keys[] = { { MODKEY, GDK_slash, spawn, SETPROP("_SURF_FIND", "_SURF_FIND") }, { MODKEY, GDK_n, find, { .b = TRUE } }, { MODKEY|GDK_SHIFT_MASK,GDK_n, find, { .b = FALSE } }, + { MODKEY, GDK_v, toggle, { .v = "enable-plugins" } }, + { MODKEY|GDK_SHIFT_MASK,GDK_i, toggle, { .v = "auto-load-images" } }, + { MODKEY, GDK_c, toggle, { .v = "enable-caret-browsing" } }, + { MODKEY|GDK_SHIFT_MASK,GDK_s, toggle, { .v = "enable-scripts" } }, }; @@ -126,6 +126,7 @@ static void spawn(Client *c, const Arg *arg); 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); @@ -890,6 +891,20 @@ 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 }; + + 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; |