diff options
| -rw-r--r-- | surf.c | 10 | 
1 files changed, 8 insertions, 2 deletions
| @@ -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[]) { | 
