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