X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=plugins%2Fmouse%2Fmouse.c;h=7d60869f971e0ad24cf299330141db174b1429d4;hb=fb893e8dcd43de39d99aca6f6a3a2877532aad8a;hp=0cb6b5c0095213a7bdd423bf5c1062668cfa784b;hpb=029f35d613fbdd5b27d515e5ab7ae07ad6fc8bdd;p=chaz%2Fopenbox diff --git a/plugins/mouse/mouse.c b/plugins/mouse/mouse.c index 0cb6b5c0..7d60869f 100644 --- a/plugins/mouse/mouse.c +++ b/plugins/mouse/mouse.c @@ -9,6 +9,12 @@ #include "mouse.h" #include +void plugin_setup_config() +{ +} + +static int drag_threshold = 3; + /* GData of GSList*s of PointerBinding*s. */ static GData *bound_contexts; @@ -270,14 +276,17 @@ static void event(ObEvent *e, void *foo) case Event_X_MotionNotify: if (button) { - drag = TRUE; dx = e->data.x.e->xmotion.x_root - px; dy = e->data.x.e->xmotion.y_root - py; - context = engine_get_context(e->data.x.client, - e->data.x.e->xbutton.window); - fire_motion(MouseAction_Motion, context, - e->data.x.client, e->data.x.e->xmotion.state, - button, cx, cy, cw, ch, dx, dy, FALSE, corner); + if (ABS(dx) >= drag_threshold || ABS(dy) >= drag_threshold) + drag = TRUE; + if (drag) { + context = engine_get_context(e->data.x.client, + e->data.x.e->xbutton.window); + fire_motion(MouseAction_Motion, context, + e->data.x.client, e->data.x.e->xmotion.state, + button, cx, cy, cw, ch, dx, dy, FALSE, corner); + } } break; @@ -363,10 +372,14 @@ static void binddef() a = action_new(action_resize); mbind("A-3", "frame", MouseAction_Motion, a); - a = action_new(action_focusraise); + a = action_new(action_focus); mbind("1", "titlebar", MouseAction_Press, a); - a = action_new(action_focusraise); + a = action_new(action_focus); mbind("1", "handle", MouseAction_Press, a); + a = action_new(action_raise); + mbind("1", "titlebar", MouseAction_Click, a); + a = action_new(action_raise); + mbind("1", "handle", MouseAction_Click, a); a = action_new(action_lower); mbind("2", "titlebar", MouseAction_Press, a); a = action_new(action_lower); @@ -376,7 +389,7 @@ static void binddef() a = action_new(action_lower); mbind("A-3", "frame", MouseAction_Click, a); - a = action_new(action_focusraise); + a = action_new(action_focus); mbind("1", "client", MouseAction_Press, a); a = action_new(action_toggle_shade); @@ -398,6 +411,8 @@ static void binddef() mbind("1", "icon", MouseAction_DClick, a); a = action_new(action_close); mbind("1", "close", MouseAction_Click, a); + a = action_new(action_kill); + mbind("2", "close", MouseAction_Click, a); a = action_new(action_toggle_omnipresent); mbind("1", "alldesktops", MouseAction_Click, a);