applied Nick's 96dpi patch, thanks

This commit is contained in:
Anselm R Garbe 2013-07-20 08:52:10 +02:00
parent 2e978627dd
commit 7001df98d1
2 changed files with 16 additions and 0 deletions

View file

@ -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;

15
surf.c
View file

@ -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));