| tStore modified parameters list - surf - customized build of surf, the suckless… | |
| git clone git://src.adamsgaard.dk/surf | |
| Log | |
| Files | |
| Refs | |
| README | |
| LICENSE | |
| --- | |
| commit a0c3c80ee6e48c57e541cfbcaeb1fb0e66121985 | |
| parent a8bf2068276e27dcbd2919cb72d926b9f4f3882e | |
| Author: Quentin Rameau <[email protected]> | |
| Date: Sun, 21 May 2017 22:53:56 +0200 | |
| Store modified parameters list | |
| Diffstat: | |
| M surf.c | 29 +++++++++++------------------ | |
| 1 file changed, 11 insertions(+), 18 deletions(-) | |
| --- | |
| diff --git a/surf.c b/surf.c | |
| t@@ -241,6 +241,7 @@ static GdkDevice *gdkkb; | |
| static char *stylefile; | |
| static const char *useragent; | |
| static Parameter *curconfig; | |
| +static int modparams[ParameterLast]; | |
| char *argv0; | |
| static ParamName loadtransient[] = { | |
| t@@ -673,41 +674,31 @@ cookiepolicy_set(const WebKitCookieAcceptPolicy p) | |
| void | |
| seturiparameters(Client *c, const char *uri, ParamName *params) | |
| { | |
| - Parameter *config, *newconfig = NULL; | |
| + Parameter *config, *uriconfig = NULL; | |
| int i, p; | |
| for (i = 0; i < LENGTH(uriparams); ++i) { | |
| if (uriparams[i].uri && | |
| !regexec(&(uriparams[i].re), uri, 0, NULL, 0)) { | |
| - newconfig = uriparams[i].config; | |
| + uriconfig = uriparams[i].config; | |
| break; | |
| } | |
| } | |
| - if (!newconfig) | |
| - newconfig = defconfig; | |
| + curconfig = uriconfig ? uriconfig : defconfig; | |
| for (i = 0; (p = params[i]) != ParameterLast; ++i) { | |
| switch(p) { | |
| + default: /* FALLTHROUGH */ | |
| + if (!(defconfig[p].prio < curconfig[p].prio || | |
| + defconfig[p].prio < modparams[p])) | |
| + continue; | |
| case Certificate: | |
| case CookiePolicies: | |
| case Style: | |
| - config = (newconfig[p].prio > defconfig[p].prio) ? | |
| - newconfig : defconfig; | |
| - break; | |
| - default: | |
| - if (newconfig[p].prio > defconfig[p].prio) | |
| - config = newconfig; | |
| - else if (curconfig[p].prio > defconfig[p].prio) | |
| - config = defconfig; | |
| - else | |
| - continue; | |
| + setparameter(c, 0, p, &curconfig[p].val); | |
| } | |
| - | |
| - setparameter(c, 0, p, &config[p].val); | |
| } | |
| - | |
| - curconfig = newconfig; | |
| } | |
| void | |
| t@@ -716,6 +707,8 @@ setparameter(Client *c, int refresh, ParamName p, const Ar… | |
| GdkRGBA bgcolor = { 0 }; | |
| WebKitSettings *s = webkit_web_view_get_settings(c->view); | |
| + modparams[p] = curconfig[p].prio; | |
| + | |
| switch (p) { | |
| case AcceleratedCanvas: | |
| webkit_settings_set_enable_accelerated_2d_canvas(s, a->i); |