Handle n+1 characters in the scrolling decorator

This commit is contained in:
Pavle Portic 2020-05-15 20:31:00 +02:00
parent 3bb2fb8247
commit a8df4a5f9d
No known key found for this signature in database
GPG key ID: 6758ACE46AA2A849
3 changed files with 19 additions and 2 deletions

View file

@ -1,6 +1,10 @@
import difflib
import logging
import util.format
log = logging.getLogger(__name__)
def never(init):
def call_init(obj, *args, **kwargs):
@ -49,9 +53,10 @@ def scrollable(func):
direction = widget.get("scrolling.direction", "right")
if direction == "left":
scroll_speed = -scroll_speed
if start + scroll_speed <= 0: # bounce back
if start - scroll_speed < 0: # bounce back
widget.set("scrolling.direction", "right")
else:
scroll_speed = -scroll_speed
next_start = start + scroll_speed
if next_start + width > len(text):