surf

surf browser, a WebKit based browser
git clone git://git.suckless.org/surf
Log | Files | Refs | README | LICENSE

commit 31441e93f73029017fb59ac9f7e36ba74206ced4
parent 92afa03d80ba077f7a5b1dc1bd44d82ab1d35b8f
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:
Msurf.c | 10++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/surf.c b/surf.c @@ -37,6 +37,7 @@ typedef struct Client { char *title, *linkhover; gint progress; struct Client *next; + gboolean zoomed; } Client; typedef struct { @@ -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); @@ -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[]) {