diff options
| author | Dana Jansens <danakj@orodu.net> | 2002-12-25 05:46:02 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2002-12-25 05:46:02 +0000 |
| commit | 0816364a039fb0a0b2f989394ffb6af0b5221b3f (patch) | |
| tree | 9a3a93f237aa3b90550a0773d502bed5abb3b022 /scripts | |
| parent | b34824a4e2ddc0247099fa1b3952de426bfde05b (diff) | |
handle mouse clicks in the python scripts now
Diffstat (limited to 'scripts')
| -rw-r--r-- | scripts/Makefile.am | 2 | ||||
| -rw-r--r-- | scripts/clicks.py | 54 | ||||
| -rw-r--r-- | scripts/clientmotion.py | 15 |
3 files changed, 64 insertions, 7 deletions
diff --git a/scripts/Makefile.am b/scripts/Makefile.am index b1cecc47..ecf86a22 100644 --- a/scripts/Makefile.am +++ b/scripts/Makefile.am @@ -1,6 +1,6 @@ scriptdir = $(libdir)/openbox/python MAINTAINERCLEANFILES = Makefile.in -script_DATA = clientmotion.py +script_DATA = clientmotion.py clicks.py EXTRA_DIST = $(script_DATA) distclean-local: diff --git a/scripts/clicks.py b/scripts/clicks.py new file mode 100644 index 00000000..3c958bf4 --- /dev/null +++ b/scripts/clicks.py @@ -0,0 +1,54 @@ +def def_click_client(action, win, type, modifiers, button, time): + client = Openbox_findClient(openbox, win) + if not client: return + + if button == Button1 and type == Type_CloseButton: + OBClient_close(client) + elif button <= Button3 and type == Type_MaximizeButton: + print "OBClient_maximize(client)" + elif button == Button1 and type == Type_IconifyButton: + print "OBClient_iconify(client)" + elif button == Button1 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: + print "OBClient_shade(client)" + elif button == Button5: + print "OBClient_unshade(client)" + +def def_click_model(action, win, type, modifiers, button, time): + if button != Button1: return + client = Openbox_findClient(openbox, win) + if not client: return + print "OBClient_focus(client)" + print "OBClient_raise(client)" + +def def_click_root(action, win, type, modifiers, button, time): + if type == Type_Root: + if button == Button1: + print "nothing probly.." + elif button == Button2: + print "workspace menu" + elif button == Button3: + print "root menu" + elif button == Button4: + print "next workspace" + elif button == Button5: + print "previous workspace" + +def def_doubleclick_client(action, win, type, modifiers, button, time): + client = Openbox_findClient(openbox, win) + if not client: return + + if button == Button1 and (type == Type_Titlebar or type == Type_Label): + print "OBClient_toggleshade(client)" + + +register(Action_Click, def_click_model) +register(Action_Click, def_click_client) +register(Action_Click, def_click_root) +register(Action_DoubleClick, def_doubleclick_client) + +print "Loaded clicks.py" diff --git a/scripts/clientmotion.py b/scripts/clientmotion.py index 857d6377..8ef47298 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,7 +21,8 @@ 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: @@ -42,7 +43,7 @@ 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) global posqueue @@ -72,6 +73,8 @@ def motion(action, win, type, modifiers, xroot, yroot, time): # _posqueue[0]->clientarea.height() + _dy); -register(Action_ButtonPress, motion_press) -register(Action_ButtonRelease, motion_release) -register(Action_MouseMotion, motion) +register(Action_ButtonPress, def_motion_press) +register(Action_ButtonRelease, def_motion_release) +register(Action_MouseMotion, def_motion) + +print "Loaded clientmotion.py" |
