diff options
author | Quentin Rameau <quinq@fifth.space> | 2022-04-10 16:35:24 +0200 |
---|---|---|
committer | Quentin Rameau <quinq@fifth.space> | 2022-04-10 16:35:24 +0200 |
commit | 1f5b8f3bd1f37d4d3dc45d21285f34ef4752dbaa (patch) | |
tree | a04ef97de6f30054996f2ae8a4404d782b1200d8 | |
parent | 11dca18a2d148e5a6463aba783567a3815424963 (diff) |
Add dark mode toggle
This sets dark gtk theme variant,
which should make webkit2gtk use dark css variant
from websites that provide it.
-rw-r--r-- | config.def.h | 2 | ||||
-rw-r--r-- | surf.1 | 3 | ||||
-rw-r--r-- | surf.c | 6 |
3 files changed, 11 insertions, 0 deletions
diff --git a/config.def.h b/config.def.h index 1355ba3..93cfeeb 100644 --- a/config.def.h +++ b/config.def.h @@ -20,6 +20,7 @@ static Parameter defconfig[ParameterLast] = { [Certificate] = { { .i = 0 }, }, [CaretBrowsing] = { { .i = 0 }, }, [CookiePolicies] = { { .v = "@Aa" }, }, + [DarkMode] = { { .i = 0 }, }, [DefaultCharset] = { { .v = "UTF-8" }, }, [DiskCache] = { { .i = 1 }, }, [DNSPrefetch] = { { .i = 0 }, }, @@ -179,6 +180,7 @@ static Key keys[] = { { MODKEY|GDK_SHIFT_MASK, GDK_KEY_b, toggle, { .i = ScrollBars } }, { MODKEY|GDK_SHIFT_MASK, GDK_KEY_t, toggle, { .i = StrictTLS } }, { MODKEY|GDK_SHIFT_MASK, GDK_KEY_m, toggle, { .i = Style } }, + { MODKEY|GDK_SHIFT_MASK, GDK_KEY_d, toggle, { .i = DarkMode } }, }; /* button definitions */ @@ -208,6 +208,9 @@ Toggle scrollbars. This will reload the page. .B Ctrl\-Shift\-c Toggle caret browsing. This will reload the page. .TP +.B Ctrl\-Shift\-d +Toggle dark mode. This will reload the page. +.TP .B Ctrl\-Shift\-i Toggle auto-loading of images. This will reload the page. .TP @@ -56,6 +56,7 @@ typedef enum { CaretBrowsing, Certificate, CookiePolicies, + DarkMode, DiskCache, DefaultCharset, DNSPrefetch, @@ -259,6 +260,7 @@ char *argv0; static ParamName loadtransient[] = { Certificate, CookiePolicies, + DarkMode, DiskCache, DNSPrefetch, FileURLsCrossAccess, @@ -772,6 +774,10 @@ setparameter(Client *c, int refresh, ParamName p, const Arg *a) cookiepolicy_get()); refresh = 0; break; + case DarkMode: + g_object_set(gtk_settings_get_default(), + "gtk-application-prefer-dark-theme", a->i, NULL); + break; case DiskCache: webkit_web_context_set_cache_model( webkit_web_view_get_context(c->view), a->i ? |