diff options
-rw-r--r-- | config.def.h | 1 | ||||
-rw-r--r-- | surf.c | 15 |
2 files changed, 16 insertions, 0 deletions
diff --git a/config.def.h b/config.def.h index 08ff707..49ffa49 100644 --- a/config.def.h +++ b/config.def.h @@ -10,6 +10,7 @@ static char *cafile = "/etc/ssl/certs/ca-certificates.crt"; static char *strictssl = FALSE; /* Refuse untrusted SSL connections */ static Bool kioskmode = FALSE; /* Ignore shortcuts */ static Bool showindicators = TRUE; /* Show indicators in window title */ +static Bool zoomto96dpi = TRUE; /* Zoom pages to always emulate 96dpi */ static guint defaultfontsize = 12; @@ -658,6 +658,8 @@ newclient(void) { WebKitWebSettings *settings; WebKitWebFrame *frame; GdkGeometry hints = { 1, 1 }; + GdkScreen *screen; + gdouble dpi; char *uri, *ua; if(!(c = calloc(1, sizeof(Client)))) @@ -802,6 +804,19 @@ newclient(void) { g_object_set(G_OBJECT(settings), "default-font-size", defaultfontsize, NULL); + /* While stupid, CSS specifies that a pixel represents 1/96 of an inch. + * This ensures websites are not unusably small with a high DPI screen. + * It is equivalent to firefox's "layout.css.devPixelsPerPx" setting. */ + if(zoomto96dpi) { + screen = gdk_window_get_screen(GTK_WIDGET(c->win)->window); + dpi = gdk_screen_get_resolution(screen); + if(dpi != -1) { + g_object_set(G_OBJECT(settings), "enforce-96-dpi", true, + NULL); + webkit_web_view_set_zoom_level(c->view, dpi/96); + } + } + if(enableinspector) { c->inspector = WEBKIT_WEB_INSPECTOR( webkit_web_view_get_inspector(c->view)); |