Add dark mode toggle - surf - surf browser, a WebKit based browser | |
git clone git://git.suckless.org/surf | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 1f5b8f3bd1f37d4d3dc45d21285f34ef4752dbaa | |
parent 11dca18a2d148e5a6463aba783567a3815424963 | |
Author: Quentin Rameau <[email protected]> | |
Date: Sun, 10 Apr 2022 16:35:24 +0200 | |
Add dark mode toggle | |
This sets dark gtk theme variant, | |
which should make webkit2gtk use dark css variant | |
from websites that provide it. | |
Diffstat: | |
M config.def.h | 2 ++ | |
M surf.1 | 3 +++ | |
M surf.c | 6 ++++++ | |
3 files changed, 11 insertions(+), 0 deletions(-) | |
--- | |
diff --git 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 */ | |
diff --git a/surf.1 b/surf.1 | |
@@ -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 | |
diff --git a/surf.c b/surf.c | |
@@ -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 Ar… | |
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 ? |