surf-hardwareaccel.patch (2413B)
1 diff --git a/config.def.h b/config.def.h 2 index ea29f8c..545351a 100644 3 --- a/config.def.h 4 +++ b/config.def.h 5 @@ -30,6 +30,7 @@ static Parameter defconfig[ParameterLast] = { 6 [FileURLsCrossAccess] = { { .i = 0 }, }, 7 [FontSize] = { { .i = 12 }, }, 8 [Geolocation] = { { .i = 0 }, }, 9 + [HardwareAcceleration] = { { .i = 1 }, }, 10 [HideBackground] = { { .i = 0 }, }, 11 [Inspector] = { { .i = 1 }, }, 12 [JavaScript] = { { .i = 1 }, }, 13 diff --git a/surf.c b/surf.c 14 index 39ed548..11af08d 100644 15 --- a/surf.c 16 +++ b/surf.c 17 @@ -65,6 +65,7 @@ typedef enum { 18 FileURLsCrossAccess, 19 FontSize, 20 Geolocation, 21 + HardwareAcceleration, 22 HideBackground, 23 Inspector, 24 JavaScript, 25 @@ -288,6 +289,7 @@ static ParamName loadcommitted[] = { 26 DefaultCharset, 27 FontSize, 28 Geolocation, 29 + HardwareAcceleration, 30 HideBackground, 31 Inspector, 32 // KioskMode, 33 @@ -685,6 +687,7 @@ gettogglestats(Client *c) 34 togglestats[4] = curconfig[LoadImages].val.i ? 'I' : 'i'; 35 togglestats[5] = curconfig[JavaScript].val.i ? 'S' : 's'; 36 togglestats[6] = curconfig[Style].val.i ? 'M' : 'm'; 37 + togglestats[7] = curconfig[HardwareAcceleration].val.i ? 'A' : 'a'; 38 togglestats[8] = curconfig[Certificate].val.i ? 'X' : 'x'; 39 togglestats[9] = curconfig[StrictTLS].val.i ? 'T' : 't'; 40 } 41 @@ -810,6 +813,11 @@ setparameter(Client *c, int refresh, ParamName p, const Arg *a) 42 case Geolocation: 43 refresh = 0; 44 break; 45 + case HardwareAcceleration: 46 + webkit_settings_set_hardware_acceleration_policy(c->settings, a->i ? 47 + WEBKIT_HARDWARE_ACCELERATION_POLICY_ON_DEMAND : 48 + WEBKIT_HARDWARE_ACCELERATION_POLICY_NEVER); 49 + break; 50 case HideBackground: 51 if (a->i) 52 webkit_web_view_set_background_color(c->view, &bgcolor); 53 @@ -1177,6 +1185,9 @@ newview(Client *c, WebKitWebView *rv) 54 "enable-site-specific-quirks", curconfig[SiteQuirks].val.i, 55 "enable-smooth-scrolling", curconfig[SmoothScrolling].val.i, 56 "enable-webgl", curconfig[WebGL].val.i, 57 + "hardware-acceleration-policy", curconfig[HardwareAcceleration].val.i ? 58 + WEBKIT_HARDWARE_ACCELERATION_POLICY_ON_DEMAND : 59 + WEBKIT_HARDWARE_ACCELERATION_POLICY_NEVER, 60 "media-playback-requires-user-gesture", curconfig[MediaManualPlay].val.i, 61 NULL); 62 /* For more interesting settings, have a look at