X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=scripts%2Fclientmotion.py;h=60de370bf13b02c77fdf9d1cccc51194c8ad0dcf;hb=624a06fdffadfadbf6ac14068bbd329cc0a5834f;hp=857d6377d090719496a3d504a21087b1d0def310;hpb=b34824a4e2ddc0247099fa1b3952de426bfde05b;p=chaz%2Fopenbox diff --git a/scripts/clientmotion.py b/scripts/clientmotion.py index 857d6377..60de370b 100644 --- a/scripts/clientmotion.py +++ b/scripts/clientmotion.py @@ -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"