surf

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

commit d67de3a9a09ca96c993b987868f28f70ac83fc52
parent 9215a55624edb1563dda2861872acc2ee2a405cb
Author: Enno Boland (tox) <tox@s01.de>
Date:   Wed,  9 Sep 2009 21:58:13 +0200

added scrolling.
Diffstat:
Mconfig.def.h | 8+++++---
Msurf.c | 17+++++++++++++++++
2 files changed, 22 insertions(+), 3 deletions(-)

diff --git a/config.def.h b/config.def.h @@ -13,11 +13,13 @@ static Key keys[] = { { MODKEY, GDK_P, print, { 0 }, ALWAYS }, { MODKEY, GDK_p, clipboard, { .b = TRUE }, BROWSER }, { MODKEY, GDK_y, clipboard, { .b = FALSE }, BROWSER }, - { MODKEY, GDK_k, zoom, { .i = +1 }, BROWSER }, - { MODKEY, GDK_j, zoom, { .i = -1 }, BROWSER }, - { MODKEY, GDK_i, zoom, { .i = 0 }, BROWSER }, + { MODKEY|GDK_SHIFT_MASK,GDK_j, zoom, { .i = -1 }, BROWSER }, + { MODKEY|GDK_SHIFT_MASK,GDK_k, zoom, { .i = +1 }, BROWSER }, + { MODKEY|GDK_SHIFT_MASK,GDK_i, zoom, { .i = 0 }, BROWSER }, { MODKEY, GDK_l, navigate, { .i = +1 }, BROWSER }, { MODKEY, GDK_h, navigate, { .i = -1 }, BROWSER }, + { MODKEY, GDK_j, scroll, { .i = +1 }, BROWSER }, + { MODKEY, GDK_k, scroll, { .i = -1 }, BROWSER }, { 0, GDK_Escape, stop, { 0 }, BROWSER }, { MODKEY, GDK_o, source, { 0 }, BROWSER }, { MODKEY, GDK_n, searchtext, { .b = TRUE }, BROWSER|SEARCHBAR }, diff --git a/surf.c b/surf.c @@ -103,6 +103,7 @@ static void setcookie(char *name, char *val, char *dom, char *path, long exp); static void setup(); static void titlechange(WebKitWebView* view, WebKitWebFrame* frame, const gchar* title, Client *c); +static void scroll(Client *c, const Arg *arg); static void searchtext(Client *c, const Arg *arg); static void source(Client *c, const Arg *arg); static void showsearch(Client *c, const Arg *arg); @@ -529,6 +530,22 @@ rereadcookies() { } void +scroll(Client *c, const Arg *arg) { + gdouble v; + int h, d; + GtkAdjustment *a; + + gdk_window_get_geometry(GTK_WIDGET(c->view)->window, &d, &d, &d, &h, &d); + a = gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(c->scroll)); + v = gtk_adjustment_get_value(a); + v += gtk_adjustment_get_step_increment(a) * arg->i; + v = MAX(v, 0.0); + v = MIN(v, (double)h); + printf("%f %i\n", v, h); + gtk_adjustment_set_value (a, v); +} + +void setcookie(char *name, char *val, char *dom, char *path, long exp) { }