summary refs log tree commit diff stats
path: root/ranger/ext/direction.py
diff options
context:
space:
mode:
Diffstat (limited to 'ranger/ext/direction.py')
-rw-r--r--ranger/ext/direction.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/ranger/ext/direction.py b/ranger/ext/direction.py
index 2bc58395..bbb69c9b 100644
--- a/ranger/ext/direction.py
+++ b/ranger/ext/direction.py
@@ -140,9 +140,14 @@ class Direction(dict):
         else:
             pos += current
         if self.cycle():
-            return minimum + pos % (maximum + offset - minimum)
+            cycles, pos = divmod(pos, (maximum + offset - minimum))
+            self['_move_cycles'] = int(cycles)
+            return int(minimum + pos)
         return int(max(min(pos, maximum + offset - 1), minimum))
 
+    def move_cycles(self):
+        return self.get('_move_cycles', 0)
+
     def select(self, lst, current, pagesize, override=None, offset=1):
         dest = self.move(direction=self.down(), override=override,
                          current=current, pagesize=pagesize, minimum=0, maximum=len(lst) + 1)