]> Dogcows Code - chaz/openbox/blobdiff - scripts/clientmotion.py
print an error for invalid modifier keys
[chaz/openbox] / scripts / clientmotion.py
index 857d6377d090719496a3d504a21087b1d0def310..60de370bf13b02c77fdf9d1cccc51194c8ad0dcf 100644 (file)
@@ -1,6 +1,6 @@
 posqueue = [];
 
-def motion_press(action, win, type, modifiers, button, xroot, yroot, time):
+def def_motion_press(action, win, type, modifiers, button, xroot, yroot, time):
        client = Openbox_findClient(openbox, win)
 
        global posqueue
@@ -21,11 +21,14 @@ def motion_press(action, win, type, modifiers, button, xroot, yroot, time):
        #  // area would be meaningless anyways
        #  if (c) a->clientarea = c->area();
        
-def motion_release(action, win, type, modifiers, button, xroot, yroot, time):
+def def_motion_release(action, win, type, modifiers, button, xroot, yroot,
+                      time):
        global posqueue
        for i in posqueue:
                if i[0] == button:
-                       #delete_Rect i[3]
+                       client = Openbox_findClient(openbox, win)
+                       if client:
+                               delete_Rect(i[3])
                        posqueue.remove(i)
                        break
        
@@ -42,8 +45,9 @@ def motion_release(action, win, type, modifiers, button, xroot, yroot, time):
        #  }
 
 
-def motion(action, win, type, modifiers, xroot, yroot, time):
+def def_motion(action, win, type, modifiers, xroot, yroot, time):
        client = Openbox_findClient(openbox, win)
+       if not client: return
 
        global posqueue
        dx = xroot - posqueue[0][1]
@@ -51,8 +55,6 @@ def motion(action, win, type, modifiers, xroot, yroot, time):
        #  _dx = x_root - _posqueue[0]->pos.x();
        #  _dy = y_root - _posqueue[0]->pos.y();
 
-       if not client:
-               return
        area = posqueue[0][3] # A Rect
        if (type == Type_Titlebar) or (type == Type_Label):
                OBClient_move(client, Rect_x(area) + dx, Rect_y(area) + dy)
@@ -71,7 +73,21 @@ def motion(action, win, type, modifiers, xroot, yroot, time):
                #        _posqueue[0]->clientarea.width() + _dx,
                #        _posqueue[0]->clientarea.height() + _dy);
 
+def def_enter(action, win, type, modifiers):
+       client = Openbox_findClient(openbox, win)
+       if not client: return
+        OBClient_focus(client)
+
+def def_leave(action, win, type, modifiers):
+       client = Openbox_findClient(openbox, win)
+       if not client: return
+
+
+register(Action_EnterWindow, def_enter)
+#register(Action_LeaveWindow, def_leave)
+
+register(Action_ButtonPress, def_motion_press)
+register(Action_ButtonRelease, def_motion_release)
+register(Action_MouseMotion, def_motion)
 
-register(Action_ButtonPress, motion_press)
-register(Action_ButtonRelease, motion_release)
-register(Action_MouseMotion, motion)
+print "Loaded clientmotion.py"
This page took 0.022859 seconds and 4 git commands to generate.