Add zoom level support.
[surf.git] / surf.c
diff --git a/surf.c b/surf.c
index b6669ae..d970f7f 100644 (file)
--- a/surf.c
+++ b/surf.c
@@ -47,7 +47,7 @@ typedef struct Client {
        WebKitWebView *view;
        WebKitWebInspector *inspector;
        char *title, *linkhover;
-       const char *uri, *needle;
+       const char *needle;
        gint progress;
        struct Client *next;
        gboolean zoomed, fullscreen, isinspecting, sslfailed;
@@ -636,7 +636,7 @@ loaduri(Client *c, const Arg *arg) {
        }
 
        /* prevents endless loop */
-       if(c->uri && strcmp(u, c->uri) == 0) {
+       if(strcmp(u, geturi(c)) == 0) {
                reload(c, &a);
        } else {
                webkit_web_view_load_uri(c->view, u);
@@ -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;