diff options
Diffstat (limited to 'ranger/ext/direction.py')
-rw-r--r-- | ranger/ext/direction.py | 7 |
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) |