From cae5f64931a75a9fdcb0ef523fc025f784e5a834 Mon Sep 17 00:00:00 2001 From: mathieui Date: Wed, 3 Jul 2013 00:21:13 +0200 Subject: Move backwards in the input the same way we move forward (ref #2183) --- src/windows.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/windows.py b/src/windows.py index a270d732..0a31deed 100644 --- a/src/windows.py +++ b/src/windows.py @@ -1320,10 +1320,18 @@ class Input(Win): """ if reset: self.reset_completion() - if self.pos == self.width-1 and self.line_pos > 0: - self.line_pos -= 1 + + if self.pos < (3*(self.width)//4) and self.line_pos > 0 and self.line_pos+self.pos-1<=len(self.text): + self.line_pos -= self.width//4 + if self.line_pos < 0: + self.pos += (self.width//4) + self.line_pos - 1 + self.line_pos = 0 + else: + self.pos += self.width//4 - 1 elif self.pos >= 1: self.pos -= 1 + elif self.line_pos > 0: + self.line_pos -= 1 if jump and self.pos+self.line_pos >= 1 and self.text[self.pos+self.line_pos-1] == '\x19': self.key_left() elif reset: -- cgit v1.2.3