add a Release MouseAction for python hooks

This commit is contained in:
Dana Jansens 2003-01-30 16:54:30 +00:00
parent c2c21e9588
commit 3b39804835
2 changed files with 16 additions and 11 deletions

View file

@ -117,6 +117,20 @@ void Actions::buttonReleaseHandler(const XButtonEvent &e)
(openbox->findHandler(e.window)); (openbox->findHandler(e.window));
if (!w) return; if (!w) return;
// run the RELEASE python hook
// kill off the Button1Mask etc, only want the modifiers
unsigned int state = e.state & (ControlMask | ShiftMask | Mod1Mask |
Mod2Mask | Mod3Mask | Mod4Mask | Mod5Mask);
int screen;
Client *c = openbox->findClient(e.window);
if (c)
screen = c->screen();
else
screen = otk::display->findScreen(e.root)->screen();
MouseData data(screen, c, e.time, state, e.button, w->mcontext(),
MouseAction::Release);
openbox->bindings()->fireButton(&data);
// not for the button we're watching? // not for the button we're watching?
if (_button != e.button) return; if (_button != e.button) return;
@ -133,17 +147,7 @@ void Actions::buttonReleaseHandler(const XButtonEvent &e)
return; return;
// run the CLICK python hook // run the CLICK python hook
// kill off the Button1Mask etc, only want the modifiers data.action = MouseAction::Click;
unsigned int state = e.state & (ControlMask | ShiftMask | Mod1Mask |
Mod2Mask | Mod3Mask | Mod4Mask | Mod5Mask);
int screen;
Client *c = openbox->findClient(e.window);
if (c)
screen = c->screen();
else
screen = otk::display->findScreen(e.root)->screen();
MouseData data(screen, c, e.time, state, e.button, w->mcontext(),
MouseAction::Click);
openbox->bindings()->fireButton(&data); openbox->bindings()->fireButton(&data);

View file

@ -46,6 +46,7 @@ struct MouseContext {
struct MouseAction { struct MouseAction {
enum MA { enum MA {
Press, Press,
Release,
Click, Click,
DoubleClick, DoubleClick,
Motion Motion