diff options
| author | Dana Jansens <danakj@orodu.net> | 2003-01-02 20:36:14 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2003-01-02 20:36:14 +0000 |
| commit | 66a26917a0631463df7f72c34cbeb39df466918a (patch) | |
| tree | 0ffd823b664d12e81159569076553d705cb7ae2a /scripts | |
| parent | 745e840547b5443ecfb9b6f0a4f14b0d035d59c2 (diff) | |
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.
Diffstat (limited to 'scripts')
| -rw-r--r-- | scripts/clicks.py | 48 | ||||
| -rw-r--r-- | scripts/clientmotion.py | 29 |
2 files changed, 41 insertions, 36 deletions
diff --git a/scripts/clicks.py b/scripts/clicks.py index c6f47d58..a9c2fec1 100644 --- a/scripts/clicks.py +++ b/scripts/clicks.py @@ -1,26 +1,28 @@ -def def_click_client(action, win, type, modifiers, button, time): - client = Openbox_findClient(openbox, win) +def def_click_client(data): + client = Openbox_findClient(openbox, data.window()) if not client: return - if button == Button1 and type == Type_CloseButton: + button = data.button() + type = data.target() + if button == 1 and type == Type_CloseButton: OBClient_close(client) - elif button <= Button3 and type == Type_MaximizeButton: + elif button <= 3 and type == Type_MaximizeButton: print "OBClient_maximize(client)" - elif button == Button1 and type == Type_IconifyButton: + elif button == 1 and type == Type_IconifyButton: print "OBClient_iconify(client)" - elif button == Button1 and type == Type_StickyButton: + elif button == 1 and type == Type_StickyButton: print "OBClient_sendtodesktop(client, 0xffffffff)" elif type == Type_Titlebar or type == Type_CloseButton or \ type == Type_MaximizeButton or type == Type_IconifyButton or \ type == Type_StickyButton or type == Type_Label: - if button == Button4: + if button == 4: print "OBClient_shade(client)" - elif button == Button5: + elif button == 5: print "OBClient_unshade(client)" -def def_press_model(action, win, type, modifiers, button, xroot, yroot, time): - if button != Button1: return - client = Openbox_findClient(openbox, win) +def def_press_model(data): + if data.button() != 1: return + client = Openbox_findClient(openbox, data.window()) if not client or (type == Type_StickyButton or type == Type_IconifyButton or type == Type_MaximizeButton or @@ -31,32 +33,34 @@ def def_press_model(action, win, type, modifiers, button, xroot, yroot, time): if click_raise != 0: print "OBClient_raise(client)" -def def_click_root(action, win, type, modifiers, button, time): +def def_press_root(data): + button = data.button() if type == Type_Root: - if button == Button1: + if button == 1: print "nothing probly.." client = Openbox_focusedClient(openbox) if client: OBClient_unfocus(client) - elif button == Button2: + elif button == 2: print "workspace menu" - elif button == Button3: + elif button == 3: print "root menu" - elif button == Button4: + elif button == 4: print "next workspace" - elif button == Button5: + elif button == 5: print "previous workspace" -def def_doubleclick_client(action, win, type, modifiers, button, time): - client = Openbox_findClient(openbox, win) +def def_doubleclick_client(data): + client = Openbox_findClient(openbox, data.window()) if not client: return - if button == Button1 and (type == Type_Titlebar or type == Type_Label): + button = data.button() + if button == 1 and (type == Type_Titlebar or type == Type_Label): print "OBClient_toggleshade(client)" -preregister(Action_ButtonPress, def_press_model) +register(Action_ButtonPress, def_press_model, 1) register(Action_Click, def_click_client) -register(Action_Click, def_click_root) +register(Action_ButtonPress, def_press_root) register(Action_DoubleClick, def_doubleclick_client) print "Loaded clicks.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) |
