summaryrefslogtreecommitdiff
path: root/scripts/motion.py
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-02-03 01:31:01 +0000
committerDana Jansens <danakj@orodu.net>2003-02-03 01:31:01 +0000
commitfcfda5345e6eafaaeda4c4229d8693202cc042ac (patch)
treeeaa70b1a13b23aa8d97ff8c2ca81f958b45f34f0 /scripts/motion.py
parente2069b5792a80ba8ccfd03c9d1bdd5e364dbee10 (diff)
dont snap back onto the screen for resistance
Diffstat (limited to 'scripts/motion.py')
-rw-r--r--scripts/motion.py16
1 files changed, 11 insertions, 5 deletions
diff --git a/scripts/motion.py b/scripts/motion.py
index 174f3c8e..7714c0de 100644
--- a/scripts/motion.py
+++ b/scripts/motion.py
@@ -86,13 +86,16 @@ def _motion_grab(data):
else:
raise RuntimeError
+_last_x = 0
+_last_y = 0
+
def _do_move():
global _screen, _client, _cx, _cy, _dx, _dy
x = _cx + _dx
y = _cy + _dy
- global edge_resistance
+ global edge_resistance, _last_x, _last_y
if edge_resistance:
fs = _client.frame.size()
w = _client.area().width() + fs.left + fs.right
@@ -104,18 +107,21 @@ def _do_move():
t = area.top()
b = area.bottom() - h + 1
# left screen edge
- if x < l and x >= l - edge_resistance:
+ if _last_x > x and x < l and x >= l - edge_resistance:
x = l
# right screen edge
- if x > r and x <= r + edge_resistance:
+ if _last_x < x and x > r and x <= r + edge_resistance:
x = r
# top screen edge
- if y < t and y >= t - edge_resistance:
+ if _last_y > y and y < t and y >= t - edge_resistance:
y = t
# right screen edge
- if y > b and y <= b + edge_resistance:
+ if _last_y < y and y > b and y <= b + edge_resistance:
y = b
+ _last_x = x
+ _last_y = y
+
global move_rubberband
if move_rubberband:
# draw the outline ...