diff options
Diffstat (limited to 'python/motion.py')
| -rw-r--r-- | python/motion.py | 81 |
1 files changed, 0 insertions, 81 deletions
diff --git a/python/motion.py b/python/motion.py deleted file mode 100644 index 64e04947..00000000 --- a/python/motion.py +++ /dev/null @@ -1,81 +0,0 @@ -import config, hooks, ob -from input import Pointer - -config.add('motion', - 'edge_resistance', - 'Edge Resistance', - "The amount of resistance to provide to moving a window past a " + \ - "screen boundary. Specify a value of 0 to disable edge resistance.", - 'integer', - 10, - min = 0) - -def move(ptrdata, client): - def mymove(ptrdata, client): - global _moving, _last_pos - if ptrdata.action == Pointer.Action_Release: - _moveclient.setArea(_moveclient.area(), True) # finalize the move - _moving = False - Pointer.ungrab() - elif ptrdata.action == Pointer.Action_Motion: - pos = ptrdata.pos - - x = _pcarea[0] + pos[0] - _presspos[0] - y = _pcarea[1] + pos[1] - _presspos[1] - - resist = config.get('motion', 'edge_resistance') - if resist: - ca = _moveclient.area() - w, h = ca[2], ca[3] - # use the area based on the struts - sa = ob.Openbox.screenArea(_moveclient.desktop()) - l, t = sa[0], sa[1] - r = l+ sa[2] - w - b = t+ sa[3] - h - # left screen edge - if _last_pos[0] >= pos[0] and x < l and x >= l - resist: - x = l - # right screen edge - if _last_pos[0] <= pos[0] and x > r and x <= r + resist: - x = r - # top screen edge - if _last_pos[1] >= pos[1] and y < t and y >= t - resist: - y = t - # right screen edge - if _last_pos[1] <= pos[1] and y > b and y <= b + resist: - y = b - - _moveclient.setArea((x, y, _pcarea[2], _pcarea[3]), False) - _last_pos = pos - - global _last_pos, _moving, _pcarea, _presspos, _moveclient - if not _moving: - _moving = True - _pcarea = ptrdata.pressclientarea - _presspos = ptrdata.presspos - _last_pos = _presspos - _moveclient = client - Pointer.grab(mymove) - mymove(ptrdata, client) - -def resize(ptrdata, client): - x, y = ptrdata.pos - px, py = ptrdata.presspos - cx, cy, cw, ch = ptrdata.pressclientarea - dx = x - px - dy = y - py - if px < cx + cw / 2: # left side - dx *= -1 - cx -= dx - if py < cy + ch / 2: # top side - dy *= -1 - cy -= dy - cw += dx - ch += dy - client.setArea((cx, cy, cw, ch)) - -_moving = False -_moveclient = 0 -_last_pos = () -_pcarea = () -_presspos = () |
