surf

surf
git clone git@git.zachrice.app:repos/surf.git
Log | Files | Refs | README | LICENSE

commit e4b120452ac0427a83ed05b7de14299f7b09618d
parent 8cbfabe8e9535eb72ce46723a055702d1f3070e2
Author: Zach Rice <bynxmusic@gmail.com>
Date:   Mon, 18 May 2026 19:09:38 -0400

Add hardware accel patch, enable a few features

Diffstat:
Mconfig.def.h | 11++++++-----
Msurf.c | 11+++++++++++
2 files changed, 17 insertions(+), 5 deletions(-)

diff --git a/config.def.h b/config.def.h @@ -17,8 +17,8 @@ static char *adblockfile = "~/.surf/adblock.json"; */ static Parameter defconfig[ParameterLast] = { /* parameter Arg value priority */ - [AccessMicrophone] = { { .i = 0 }, }, - [AccessWebcam] = { { .i = 0 }, }, + [AccessMicrophone] = { { .i = 1 }, }, + [AccessWebcam] = { { .i = 1 }, }, [Certificate] = { { .i = 0 }, }, [CaretBrowsing] = { { .i = 0 }, }, [CookiePolicies] = { { .v = "@Aa" }, }, @@ -30,6 +30,7 @@ static Parameter defconfig[ParameterLast] = { [FileURLsCrossAccess] = { { .i = 0 }, }, [FontSize] = { { .i = 12 }, }, [Geolocation] = { { .i = 0 }, }, + [HardwareAcceleration] = { { .i = 1 }, }, [HideBackground] = { { .i = 0 }, }, [Inspector] = { { .i = 1 }, }, [JavaScript] = { { .i = 1 }, }, @@ -42,12 +43,12 @@ static Parameter defconfig[ParameterLast] = { [ScrollBars] = { { .i = 1 }, }, [ShowIndicators] = { { .i = 1 }, }, [SiteQuirks] = { { .i = 1 }, }, - [SmoothScrolling] = { { .i = 0 }, }, - [SpellChecking] = { { .i = 0 }, }, + [SmoothScrolling] = { { .i = 1 }, }, + [SpellChecking] = { { .i = 1 }, }, [SpellLanguages] = { { .v = ((char *[]){ "en_US", NULL }) }, }, [StrictTLS] = { { .i = 1 }, }, [Style] = { { .i = 1 }, }, - [WebGL] = { { .i = 0 }, }, + [WebGL] = { { .i = 1 }, }, [ZoomLevel] = { { .f = 1.0 }, }, }; diff --git a/surf.c b/surf.c @@ -65,6 +65,7 @@ typedef enum { FileURLsCrossAccess, FontSize, Geolocation, + HardwareAcceleration, HideBackground, Inspector, JavaScript, @@ -288,6 +289,7 @@ static ParamName loadcommitted[] = { DefaultCharset, FontSize, Geolocation, + HardwareAcceleration, HideBackground, Inspector, // KioskMode, @@ -685,6 +687,7 @@ gettogglestats(Client *c) togglestats[4] = curconfig[LoadImages].val.i ? 'I' : 'i'; togglestats[5] = curconfig[JavaScript].val.i ? 'S' : 's'; togglestats[6] = curconfig[Style].val.i ? 'M' : 'm'; + togglestats[7] = curconfig[HardwareAcceleration].val.i ? 'A' : 'a'; togglestats[8] = curconfig[Certificate].val.i ? 'X' : 'x'; togglestats[9] = curconfig[StrictTLS].val.i ? 'T' : 't'; } @@ -810,6 +813,11 @@ setparameter(Client *c, int refresh, ParamName p, const Arg *a) case Geolocation: refresh = 0; break; + case HardwareAcceleration: + webkit_settings_set_hardware_acceleration_policy(c->settings, a->i ? + WEBKIT_HARDWARE_ACCELERATION_POLICY_ON_DEMAND : + WEBKIT_HARDWARE_ACCELERATION_POLICY_NEVER); + break; case HideBackground: if (a->i) webkit_web_view_set_background_color(c->view, &bgcolor); @@ -1177,6 +1185,9 @@ newview(Client *c, WebKitWebView *rv) "enable-site-specific-quirks", curconfig[SiteQuirks].val.i, "enable-smooth-scrolling", curconfig[SmoothScrolling].val.i, "enable-webgl", curconfig[WebGL].val.i, + "hardware-acceleration-policy", curconfig[HardwareAcceleration].val.i ? + WEBKIT_HARDWARE_ACCELERATION_POLICY_ON_DEMAND : + WEBKIT_HARDWARE_ACCELERATION_POLICY_NEVER, "media-playback-requires-user-gesture", curconfig[MediaManualPlay].val.i, NULL); /* For more interesting settings, have a look at