From 4c41d363b761999a8af864b4e20218f0625d940f Mon Sep 17 00:00:00 2001 From: Quentin Rameau Date: Tue, 5 Jul 2016 17:26:54 +0200 Subject: [PATCH] Add a few configuration options MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit “enable-accelerated-2d-canvas” “media-playback-requires-user-gesture” “enable-site-specific-quirks” Lookup those at https://webkitgtk.org/reference/webkit2gtk/stable/WebKitSettings.html --- config.def.h | 3 +++ surf.c | 15 +++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/config.def.h b/config.def.h index 23fd05a..6d3135e 100644 --- a/config.def.h +++ b/config.def.h @@ -8,6 +8,7 @@ static char *cookiefile = "~/.surf/cookies.txt"; /* Webkit default features */ static Parameter defconfig[ParameterLast] = { + SETB(AcceleratedCanvas, 1), SETB(CaretBrowsing, 0), SETV(CookiePolicies, "@Aa"), SETB(DiskCache, 1), @@ -20,11 +21,13 @@ static Parameter defconfig[ParameterLast] = { SETB(JavaScript, 1), SETB(KioskMode, 0), SETB(LoadImages, 1), + SETB(MediaManualPlay, 0), SETB(Plugins, 1), SETV(PreferredLanguages, ((char *[]){ NULL })), SETB(RunInFullscreen, 0), SETB(ScrollBars, 1), SETB(ShowIndicators, 1), + SETB(SiteQuirks, 1), SETB(SpellChecking, 0), SETV(SpellLanguages, ((char *[]){ "en_US", NULL })), SETB(StrictSSL, 0), diff --git a/surf.c b/surf.c index 64c5f5f..7e2b2bd 100644 --- a/surf.c +++ b/surf.c @@ -58,6 +58,7 @@ enum { }; typedef enum { + AcceleratedCanvas, CaretBrowsing, CookiePolicies, DiskCache, @@ -70,11 +71,13 @@ typedef enum { JavaScript, KioskMode, LoadImages, + MediaManualPlay, Plugins, PreferredLanguages, RunInFullscreen, ScrollBars, ShowIndicators, + SiteQuirks, SpellChecking, SpellLanguages, StrictSSL, @@ -611,6 +614,9 @@ setparameter(Client *c, int refresh, ParamName p, const Arg *a) WebKitSettings *s = webkit_web_view_get_settings(c->view); switch (p) { + case AcceleratedCanvas: + webkit_settings_set_enable_accelerated_2d_canvas(s, a->b); + break; case CaretBrowsing: webkit_settings_set_enable_caret_browsing(s, a->b); refresh = 0; @@ -655,6 +661,9 @@ setparameter(Client *c, int refresh, ParamName p, const Arg *a) case LoadImages: webkit_settings_set_auto_load_images(s, a->b); break; + case MediaManualPlay: + webkit_settings_set_media_playback_requires_user_gesture(s, a->b); + break; case Plugins: webkit_settings_set_enable_plugins(s, a->b); break; @@ -672,6 +681,9 @@ setparameter(Client *c, int refresh, ParamName p, const Arg *a) return; /* do not update */ case ShowIndicators: break; + case SiteQuirks: + webkit_settings_set_enable_site_specific_quirks(s, a->b); + break; case SpellChecking: webkit_web_context_set_spell_checking_enabled( webkit_web_view_get_context(c->view), a->b); @@ -900,6 +912,9 @@ newview(Client *c, WebKitWebView *rv) "enable-html5-local-storage", curconfig[DiskCache].val.b, "enable-javascript", curconfig[JavaScript].val.b, "enable-plugins", curconfig[Plugins].val.b, + "enable-accelerated-2d-canvas", curconfig[AcceleratedCanvas].val.b, + "enable-site-specific-quirks", curconfig[SiteQuirks].val.b, + "media-playback-requires-user-gesture", curconfig[MediaManualPlay].val.b, NULL); /* For mor interesting settings, have a look at * http://webkitgtk.org/reference/webkit2gtk/stable/WebKitSettings.html */