X-Git-Url: https://git.danieliu.xyz/?a=blobdiff_plain;f=surf.c;h=29b9edef0f287035c0f4ca7486e5b2d7cf76ed19;hb=c64c368d86a4319e43b7ff3d73a4afe0f4e8adf0;hp=64c5f5fb234c342ae55102a3f0307e24f2265bcf;hpb=5a02d3e500c7b8d22f00a214eb5a4e7244e4c6f5;p=surf.git diff --git a/surf.c b/surf.c index 64c5f5f..29b9ede 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, @@ -142,6 +145,7 @@ static void usage(void); static void die(const char *errstr, ...); static void setup(void); static void sigchld(int unused); +static void sighup(int unused); static char *buildfile(const char *path); static char *buildpath(const char *path); static const char *getuserhomedir(const char *user); @@ -263,6 +267,9 @@ setup(void) /* clean up any zombies immediately */ sigchld(0); + if (signal(SIGHUP, sighup) == SIG_ERR) + die("Can't install SIGHUP handler"); + gtk_init(NULL, NULL); gdpy = gdk_display_get_default(); @@ -328,6 +335,16 @@ sigchld(int unused) ; } +void +sighup(int unused) +{ + Arg a = { .b = 0 }; + Client *c; + + for (c = clients; c; c = c->next) + reload(c, &a); +} + char * buildfile(const char *path) { @@ -611,6 +628,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 +675,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 +695,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 +926,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 */