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:
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[]) {