Fixing the shift key mask and cleaning up the scrolling code.
This commit is contained in:
parent
e28d27249e
commit
23def74c98
1 changed files with 26 additions and 18 deletions
20
surf.c
20
surf.c
|
@ -21,6 +21,7 @@
|
||||||
#include <sys/file.h>
|
#include <sys/file.h>
|
||||||
|
|
||||||
#define LENGTH(x) (sizeof x / sizeof x[0])
|
#define LENGTH(x) (sizeof x / sizeof x[0])
|
||||||
|
#define CLEANMASK(mask) (mask & (ShiftMask|ControlMask|Mod1Mask|Mod2Mask|Mod3Mask|Mod4Mask|Mod5Mask))
|
||||||
|
|
||||||
enum { AtomFind, AtomGo, AtomUri, AtomLast };
|
enum { AtomFind, AtomGo, AtomUri, AtomLast };
|
||||||
|
|
||||||
|
@ -360,7 +361,7 @@ keypress(GtkWidget* w, GdkEventKey *ev, Client *c) {
|
||||||
updatewinid(c);
|
updatewinid(c);
|
||||||
for(i = 0; i < LENGTH(keys); i++) {
|
for(i = 0; i < LENGTH(keys); i++) {
|
||||||
if(gdk_keyval_to_lower(ev->keyval) == keys[i].keyval
|
if(gdk_keyval_to_lower(ev->keyval) == keys[i].keyval
|
||||||
&& (ev->state & keys[i].mod) == keys[i].mod
|
&& CLEANMASK(keys[i].mod) == CLEANMASK(ev->state)
|
||||||
&& keys[i].func) {
|
&& keys[i].func) {
|
||||||
keys[i].func(c, &(keys[i].arg));
|
keys[i].func(c, &(keys[i].arg));
|
||||||
processed = TRUE;
|
processed = TRUE;
|
||||||
|
@ -648,12 +649,14 @@ reload(Client *c, const Arg *arg) {
|
||||||
|
|
||||||
void
|
void
|
||||||
scroll_h(Client *c, const Arg *arg) {
|
scroll_h(Client *c, const Arg *arg) {
|
||||||
scroll(gtk_scrolled_window_get_hadjustment(GTK_SCROLLED_WINDOW(c->scroll)), arg);
|
scroll(gtk_scrolled_window_get_hadjustment(
|
||||||
|
GTK_SCROLLED_WINDOW(c->scroll)), arg);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
scroll_v(Client *c, const Arg *arg) {
|
scroll_v(Client *c, const Arg *arg) {
|
||||||
scroll(gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(c->scroll)), arg);
|
scroll(gtk_scrolled_window_get_vadjustment(
|
||||||
|
GTK_SCROLLED_WINDOW(c->scroll)), arg);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -664,14 +667,18 @@ scroll(GtkAdjustment *a, const Arg *arg) {
|
||||||
switch (arg->i){
|
switch (arg->i){
|
||||||
case +10000:
|
case +10000:
|
||||||
case -10000:
|
case -10000:
|
||||||
v += gtk_adjustment_get_page_increment(a) * (arg->i / 10000); break;
|
v += gtk_adjustment_get_page_increment(a) *
|
||||||
|
(arg->i / 10000);
|
||||||
|
break;
|
||||||
case +20000:
|
case +20000:
|
||||||
case -20000:
|
case -20000:
|
||||||
default:
|
default:
|
||||||
v += gtk_adjustment_get_step_increment(a) * arg->i;
|
v += gtk_adjustment_get_step_increment(a) * arg->i;
|
||||||
}
|
}
|
||||||
|
|
||||||
v = MAX(v, 0.0);
|
v = MAX(v, 0.0);
|
||||||
v = MIN(v, gtk_adjustment_get_upper(a) - gtk_adjustment_get_page_size(a));
|
v = MIN(v, gtk_adjustment_get_upper(a) -
|
||||||
|
gtk_adjustment_get_page_size(a));
|
||||||
gtk_adjustment_set_value(a, v);
|
gtk_adjustment_set_value(a, v);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -782,7 +789,8 @@ spawn(Client *c, const Arg *arg) {
|
||||||
void
|
void
|
||||||
eval(Client *c, const Arg *arg) {
|
eval(Client *c, const Arg *arg) {
|
||||||
WebKitWebFrame *frame = webkit_web_view_get_main_frame(c->view);
|
WebKitWebFrame *frame = webkit_web_view_get_main_frame(c->view);
|
||||||
evalscript(webkit_web_frame_get_global_context(frame), ((char **)arg->v)[0], "");
|
evalscript(webkit_web_frame_get_global_context(frame),
|
||||||
|
((char **)arg->v)[0], "");
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
Loading…
Reference in a new issue