]> Dogcows Code - chaz/openbox/blobdiff - src/actions.cc
call getState() before updateTransientFor(), don't need to initialize _modal separate...
[chaz/openbox] / src / actions.cc
index 6059f00d830a3e51df13ca8d86be03dab04b371a..59aa1a19a20e2af7a22fb61f36723866dd597dab 100644 (file)
@@ -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);
     
 
@@ -226,7 +230,7 @@ void Actions::keyReleaseHandler(const XKeyEvent &e)
                                   Mod2Mask | Mod3Mask | Mod4Mask | Mod5Mask);
 
   // remove from the state the mask of the modifier being released, if it is
-  // a modifier key being released (XXX this is a little ugly..)
+  // a modifier key being released (this is a little ugly..)
   const XModifierKeymap *map = otk::display->modifierMap();
   const int mask_table[] = {
     ShiftMask, LockMask, ControlMask, Mod1Mask,
This page took 0.024968 seconds and 4 git commands to generate.