summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEnno Boland (tox) <tox@s01.de>2009-09-09 21:58:13 +0200
committerEnno Boland (tox) <tox@s01.de>2009-09-09 21:58:13 +0200
commitd67de3a9a09ca96c993b987868f28f70ac83fc52 (patch)
treec2b1d59bfb817734863e787dcab148a085e82762
parent9215a55624edb1563dda2861872acc2ee2a405cb (diff)
downloadsurf-d67de3a9a09ca96c993b987868f28f70ac83fc52.tar.gz
surf-d67de3a9a09ca96c993b987868f28f70ac83fc52.tar.bz2
surf-d67de3a9a09ca96c993b987868f28f70ac83fc52.zip
added scrolling.
-rw-r--r--config.def.h8
-rw-r--r--surf.c17
2 files changed, 22 insertions, 3 deletions
diff --git a/config.def.h b/config.def.h
index 892df01..d628b76 100644
--- 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
index c3df8e2..9e993ff 100644
--- 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) {
}