add a Release MouseAction for python hooks
This commit is contained in:
parent
c2c21e9588
commit
3b39804835
2 changed files with 16 additions and 11 deletions
|
@ -117,6 +117,20 @@ void Actions::buttonReleaseHandler(const XButtonEvent &e)
|
|||
(openbox->findHandler(e.window));
|
||||
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?
|
||||
if (_button != e.button) return;
|
||||
|
||||
|
@ -133,17 +147,7 @@ void Actions::buttonReleaseHandler(const XButtonEvent &e)
|
|||
return;
|
||||
|
||||
// run the CLICK 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::Click);
|
||||
data.action = MouseAction::Click;
|
||||
openbox->bindings()->fireButton(&data);
|
||||
|
||||
|
||||
|
|
|
@ -46,6 +46,7 @@ struct MouseContext {
|
|||
struct MouseAction {
|
||||
enum MA {
|
||||
Press,
|
||||
Release,
|
||||
Click,
|
||||
DoubleClick,
|
||||
Motion
|
||||
|
|
Loading…
Reference in a new issue