From 66a26917a0631463df7f72c34cbeb39df466918a Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Thu, 2 Jan 2003 20:36:14 +0000 Subject: new code for bindings/callbacks. much sexier. now passes python classes back to the callbacks, and the storage of the callbacks in the code is much more clear. huzzah. --- scripts/clientmotion.py | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) (limited to 'scripts/clientmotion.py') diff --git a/scripts/clientmotion.py b/scripts/clientmotion.py index 24b16e63..dc584893 100644 --- a/scripts/clientmotion.py +++ b/scripts/clientmotion.py @@ -1,34 +1,35 @@ posqueue = []; -def def_motion_press(action, win, type, modifiers, button, xroot, yroot, time): - client = Openbox_findClient(openbox, win) +def def_motion_press(data): + client = Openbox_findClient(openbox, data.window()) global posqueue - newi = [button, xroot, yroot] + newi = [data.button(), data.xroot(), data.yroot()] if client: newi.append(new_Rect(OBClient_area(client))) posqueue.append(newi) -def def_motion_release(action, win, type, modifiers, button, xroot, yroot, - time): +def def_motion_release(data): global posqueue + button = data.button() for i in posqueue: if i[0] == button: - client = Openbox_findClient(openbox, win) + client = Openbox_findClient(openbox, data.window()) if client: delete_Rect(i[3]) posqueue.remove(i) break -def def_motion(action, win, type, modifiers, xroot, yroot, time): - client = Openbox_findClient(openbox, win) +def def_motion(data): + client = Openbox_findClient(openbox, data.window()) if not client: return global posqueue - dx = xroot - posqueue[0][1] - dy = yroot - posqueue[0][2] + dx = data.xroot() - posqueue[0][1] + dy = data.yroot() - posqueue[0][2] area = posqueue[0][3] # A Rect + type = data.target() if (type == Type_Titlebar) or (type == Type_Label): OBClient_move(client, Rect_x(area) + dx, Rect_y(area) + dy) elif type == Type_LeftGrip: @@ -38,14 +39,14 @@ def def_motion(action, win, type, modifiers, xroot, yroot, time): OBClient_resize(client, OBClient_TopLeft, Rect_width(area) + dx, Rect_height(area) + dy) -def def_enter(action, win, type, modifiers): - client = Openbox_findClient(openbox, win) +def def_enter(data): + client = Openbox_findClient(openbox, data.window()) if not client: return if enter_focus != 0: OBClient_focus(client) -def def_leave(action, win, type, modifiers): - client = Openbox_findClient(openbox, win) +def def_leave(data): + client = Openbox_findClient(openbox, data.window()) if not client: return if leave_unfocus != 0: OBClient_unfocus(client) -- cgit v1.2.3