commit 432f45a85213a78da207c63890ed7f85afff5478
parent 7e9a37f25fb72c7a739e8d2b0bcf753cf5266c6b
Author: Christoph Lohmann <20h@r-36.net>
Date:   Sat, 19 Oct 2013 18:55:53 +0200
Add zoom level support.
Diffstat:
3 files changed, 16 insertions(+), 2 deletions(-)
diff --git a/config.def.h b/config.def.h
@@ -13,7 +13,8 @@ static Bool showindicators  = TRUE;  /* Show indicators in window title */
 static Bool zoomto96dpi     = TRUE;  /* Zoom pages to always emulate 96dpi */
 static Bool runinfullscreen = FALSE; /* Run in fullscreen mode by default */
 
-static guint defaultfontsize = 12;
+static guint defaultfontsize = 12;   /* Default font size */
+static gfloat zoomlevel = 1.0;       /* Default zoom level */
 
 /* Webkit default features */
 static Bool enablescrollbars = TRUE;
diff --git a/surf.1 b/surf.1
@@ -9,6 +9,7 @@ surf \- simple webkit-based browser
 .RB [-r\ scriptfile]
 .RB [-t\ stylefile]
 .RB [-u\ useragent]
+.RB [-z\ zoomlevel]
 .RB "URI"
 .SH DESCRIPTION
 surf is a simple Web browser based on WebKit/GTK+. It is able
@@ -92,6 +93,11 @@ Prints version information to standard output, then exits.
 .TP
 .B \-x
 Prints xid to standard output. This can be used to script the browser by using
+.TP
+.B \-z zoomlevel 
+Specify the
+.I zoomlevel
+which surf should use.
 .BR xprop(1).
 .SH USAGE
 .B Escape
diff --git a/surf.c b/surf.c
@@ -819,6 +819,9 @@ newclient(void) {
 			webkit_web_view_set_zoom_level(c->view, dpi/96);
 		}
 	}
+	/* This might conflict with _zoomto96dpi_. */
+	if(zoomlevel != 1.0)
+		webkit_web_view_set_zoom_level(c->view, zoomlevel);
 
 	if(enableinspector) {
 		c->inspector = WEBKIT_WEB_INSPECTOR(
@@ -1280,7 +1283,8 @@ static void
 usage(void) {
 	die("usage: %s [-bBfFgGiIkKnNpPsSvx]"
 		" [-c cookiefile] [-e xid] [-r scriptfile]"
-		" [-t stylefile] [-u useragent] [uri]\n", basename(argv0));
+		" [-t stylefile] [-u useragent] [-z zoomlevel]"
+		" [uri]\n", basename(argv0));
 }
 
 static void
@@ -1382,6 +1386,9 @@ main(int argc, char *argv[]) {
 	case 'x':
 		showxid = TRUE;
 		break;
+	case 'z':
+		zoomlevel = strtof(EARGF(usage()), NULL);
+		break;
 	default:
 		usage();
 	} ARGEND;