added scrolling.

This commit is contained in:
Enno Boland (tox) 2009-09-09 21:58:13 +02:00
parent 9215a55624
commit d67de3a9a0
2 changed files with 22 additions and 3 deletions

View file

@ -13,11 +13,13 @@ static Key keys[] = {
{ MODKEY, GDK_P, print, { 0 }, ALWAYS }, { MODKEY, GDK_P, print, { 0 }, ALWAYS },
{ MODKEY, GDK_p, clipboard, { .b = TRUE }, BROWSER }, { MODKEY, GDK_p, clipboard, { .b = TRUE }, BROWSER },
{ MODKEY, GDK_y, clipboard, { .b = FALSE }, BROWSER }, { MODKEY, GDK_y, clipboard, { .b = FALSE }, BROWSER },
{ MODKEY, GDK_k, zoom, { .i = +1 }, BROWSER }, { MODKEY|GDK_SHIFT_MASK,GDK_j, zoom, { .i = -1 }, BROWSER },
{ MODKEY, GDK_j, zoom, { .i = -1 }, BROWSER }, { MODKEY|GDK_SHIFT_MASK,GDK_k, zoom, { .i = +1 }, BROWSER },
{ MODKEY, GDK_i, zoom, { .i = 0 }, BROWSER }, { MODKEY|GDK_SHIFT_MASK,GDK_i, zoom, { .i = 0 }, BROWSER },
{ MODKEY, GDK_l, navigate, { .i = +1 }, BROWSER }, { MODKEY, GDK_l, navigate, { .i = +1 }, BROWSER },
{ MODKEY, GDK_h, 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 }, { 0, GDK_Escape, stop, { 0 }, BROWSER },
{ MODKEY, GDK_o, source, { 0 }, BROWSER }, { MODKEY, GDK_o, source, { 0 }, BROWSER },
{ MODKEY, GDK_n, searchtext, { .b = TRUE }, BROWSER|SEARCHBAR }, { MODKEY, GDK_n, searchtext, { .b = TRUE }, BROWSER|SEARCHBAR },

17
surf.c
View file

@ -103,6 +103,7 @@ static void setcookie(char *name, char *val, char *dom, char *path, long exp);
static void setup(); static void setup();
static void titlechange(WebKitWebView* view, WebKitWebFrame* frame, static void titlechange(WebKitWebView* view, WebKitWebFrame* frame,
const gchar* title, Client *c); const gchar* title, Client *c);
static void scroll(Client *c, const Arg *arg);
static void searchtext(Client *c, const Arg *arg); static void searchtext(Client *c, const Arg *arg);
static void source(Client *c, const Arg *arg); static void source(Client *c, const Arg *arg);
static void showsearch(Client *c, const Arg *arg); static void showsearch(Client *c, const Arg *arg);
@ -528,6 +529,22 @@ rereadcookies() {
filename = g_build_filename(home, ".surf", "cookies", NULL); filename = g_build_filename(home, ".surf", "cookies", NULL);
} }
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 void
setcookie(char *name, char *val, char *dom, char *path, long exp) { setcookie(char *name, char *val, char *dom, char *path, long exp) {