Add config option for setting default charset.
authorQuentin Rameau <quinq@fifth.space>
Thu, 11 May 2017 13:23:22 +0000 (15:23 +0200)
committerQuentin Rameau <quinq@fifth.space>
Thu, 11 May 2017 13:23:22 +0000 (15:23 +0200)
This will be used for pages with no specified charset.

config.def.h
surf.c

index 46f7040..c55b690 100644 (file)
@@ -13,6 +13,7 @@ static Parameter defconfig[ParameterLast] = {
        SETB(Certificate,        0),
        SETB(CaretBrowsing,      0),
        SETV(CookiePolicies,     "@Aa"),
        SETB(Certificate,        0),
        SETB(CaretBrowsing,      0),
        SETV(CookiePolicies,     "@Aa"),
+       SETV(DefaultCharset,     "UTF-8"),
        SETB(DiskCache,          1),
        SETB(DNSPrefetch,        0),
        SETI(FontSize,           12),
        SETB(DiskCache,          1),
        SETB(DNSPrefetch,        0),
        SETI(FontSize,           12),
diff --git a/surf.c b/surf.c
index 57c4c22..a482f23 100644 (file)
--- a/surf.c
+++ b/surf.c
@@ -65,6 +65,7 @@ typedef enum {
        Certificate,
        CookiePolicies,
        DiskCache,
        Certificate,
        CookiePolicies,
        DiskCache,
+       DefaultCharset,
        DNSPrefetch,
        FontSize,
        FrameFlattening,
        DNSPrefetch,
        FontSize,
        FrameFlattening,
@@ -695,6 +696,9 @@ setparameter(Client *c, int refresh, ParamName p, const Arg *a)
                    WEBKIT_CACHE_MODEL_WEB_BROWSER :
                    WEBKIT_CACHE_MODEL_DOCUMENT_VIEWER);
                return; /* do not update */
                    WEBKIT_CACHE_MODEL_WEB_BROWSER :
                    WEBKIT_CACHE_MODEL_DOCUMENT_VIEWER);
                return; /* do not update */
+       case DefaultCharset:
+               webkit_settings_set_default_charset(s, a->v);
+               return; /* do not update */
        case DNSPrefetch:
                webkit_settings_set_enable_dns_prefetching(s, a->b);
                return; /* do not update */
        case DNSPrefetch:
                webkit_settings_set_enable_dns_prefetching(s, a->b);
                return; /* do not update */
@@ -1008,6 +1012,7 @@ newview(Client *c, WebKitWebView *rv)
        } else {
                settings = webkit_settings_new_with_settings(
                   "auto-load-images", curconfig[LoadImages].val.b,
        } else {
                settings = webkit_settings_new_with_settings(
                   "auto-load-images", curconfig[LoadImages].val.b,
+                  "default-charset", curconfig[DefaultCharset].val.v,
                   "default-font-size", curconfig[FontSize].val.i,
                   "enable-caret-browsing", curconfig[CaretBrowsing].val.b,
                   "enable-developer-extras", curconfig[Inspector].val.b,
                   "default-font-size", curconfig[FontSize].val.i,
                   "enable-caret-browsing", curconfig[CaretBrowsing].val.b,
                   "enable-developer-extras", curconfig[Inspector].val.b,