making all keys lowercase using shiftmask to determinate.
[surf.git] / surf.c
diff --git a/surf.c b/surf.c
index c3df8e2..ab16c98 100644 (file)
--- 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);
@@ -262,8 +263,9 @@ keypress(GtkWidget* w, GdkEventKey *ev, Client *c) {
        else
                focus = BROWSER;
        for(i = 0; i < LENGTH(keys); i++) {
-               if(focus & keys[i].focus && ev->keyval == keys[i].keyval &&
-                               CLEANMASK(ev->state) == keys[i].mod
+               if(focus & keys[i].focus
+                               && gdk_keyval_to_lower(ev->keyval) == keys[i].keyval
+                               && CLEANMASK(ev->state) == keys[i].mod
                                && keys[i].func) {
                        keys[i].func(c, &(keys[i].arg));
                        processed = TRUE;
@@ -528,6 +530,19 @@ rereadcookies() {
        filename = g_build_filename(home, ".surf", "cookies", NULL);
 }
 
+void
+scroll(Client *c, const Arg *arg) {
+       gdouble v;
+       GtkAdjustment *a;
+
+       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, gtk_adjustment_get_upper(a) - gtk_adjustment_get_page_size(a));
+       gtk_adjustment_set_value(a, v);
+}
+
 void
 setcookie(char *name, char *val, char *dom, char *path, long exp) {