tadding autozoom for small windows - surf - customized build of surf, the suckless webkit browser
 (HTM) git clone git://src.adamsgaard.dk/surf
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 92afa03d80ba077f7a5b1dc1bd44d82ab1d35b8f
 (DIR) parent f277dbd3d2493c019ed341f62ac6d16c09a806bc
 (HTM) Author: Enno Boland (tox) <tox@s01.de>
       Date:   Tue, 20 Oct 2009 20:34:13 +0200
       
       adding autozoom for small windows
       Diffstat:
         M surf.c                              |      15 +++++++++++++++
       
       1 file changed, 15 insertions(+), 0 deletions(-)
       ---
 (DIR) diff --git a/surf.c b/surf.c
       t@@ -106,6 +106,7 @@ static void print(Client *c, const Arg *arg);
        static void progresschange(WebKitWebView *v, gint p, Client *c);
        static void reloadcookies();
        static void reload(Client *c, const Arg *arg);
       +static void resize(GtkWidget *w, GtkAllocation *a, Client *c);
        static void sigchld(int unused);
        static void setup(void);
        static void spawn(Client *c, const Arg *arg);
       t@@ -470,6 +471,7 @@ newclient(void) {
                gtk_window_set_default_size(GTK_WINDOW(c->win), 800, 600);
                g_signal_connect(G_OBJECT(c->win), "destroy", G_CALLBACK(destroywin), c);
                g_signal_connect(G_OBJECT(c->win), "key-press-event", G_CALLBACK(keypress), c);
       +        g_signal_connect(G_OBJECT(c->win), "size-allocate", G_CALLBACK(resize), c);
        
                if(!(c->items = calloc(1, sizeof(GtkWidget *) * LENGTH(items))))
                        die("Cannot malloc!\n");
       t@@ -675,6 +677,19 @@ scroll(Client *c, const Arg *arg) {
        }
        
        void
       +resize(GtkWidget *w, GtkAllocation *a, Client *c) {
       +        double zoom;
       +
       +        zoom = webkit_web_view_get_zoom_level(c->view);
       +        if(a->width * a->height < 300 * 300 && zoom != 0.2)
       +                webkit_web_view_set_zoom_level(c->view, 0.2);
       +        else if(zoom != 1.0)
       +                webkit_web_view_set_zoom_level(c->view, 1.0);
       +}
       +
       +
       +
       +void
        sigchld(int unused) {
                if(signal(SIGCHLD, sigchld) == SIG_ERR)
                        die("Can't install SIGCHLD handler");