tadding autozoom lock when site is already zoomed. - 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 31441e93f73029017fb59ac9f7e36ba74206ced4
 (DIR) parent 92afa03d80ba077f7a5b1dc1bd44d82ab1d35b8f
 (HTM) Author: Enno Boland (tox) <tox@s01.de>
       Date:   Tue, 20 Oct 2009 20:49:33 +0200
       
       adding autozoom lock when site is already zoomed.
       Diffstat:
         M surf.c                              |      10 ++++++++--
       
       1 file changed, 8 insertions(+), 2 deletions(-)
       ---
 (DIR) diff --git a/surf.c b/surf.c
       t@@ -37,6 +37,7 @@ typedef struct Client {
                char *title, *linkhover;
                gint progress;
                struct Client *next;
       +        gboolean zoomed;
        } Client;
        
        typedef struct {
       t@@ -680,8 +681,10 @@ void
        resize(GtkWidget *w, GtkAllocation *a, Client *c) {
                double zoom;
        
       +        if(c->zoomed)
       +                return;
                zoom = webkit_web_view_get_zoom_level(c->view);
       -        if(a->width * a->height < 300 * 300 && zoom != 0.2)
       +        if(a->width * a->height < 300 * 400 && 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);
       t@@ -839,12 +842,15 @@ windowobjectcleared(GtkWidget *w, WebKitWebFrame *frame, JSContextRef js, JSObje
        
        void
        zoom(Client *c, const Arg *arg) {
       +        c->zoomed = TRUE;
                if(arg->i < 0)                /* zoom out */
                        webkit_web_view_zoom_out(c->view);
                else if(arg->i > 0)        /* zoom in */
                        webkit_web_view_zoom_in(c->view);
       -        else                        /* reset */
       +        else {                        /* reset */
       +                c->zoomed = FALSE;
                        webkit_web_view_set_zoom_level(c->view, 1.0);
       +        }
        }
        
        int main(int argc, char *argv[]) {