summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-01-02 20:36:14 +0000
committerDana Jansens <danakj@orodu.net>2003-01-02 20:36:14 +0000
commit66a26917a0631463df7f72c34cbeb39df466918a (patch)
tree0ffd823b664d12e81159569076553d705cb7ae2a /scripts
parent745e840547b5443ecfb9b6f0a4f14b0d035d59c2 (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.py48
-rw-r--r--scripts/clientmotion.py29
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)