From 5bc57d4334d70941b043f113c4158d7302f2bd86 Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Tue, 10 Sep 2013 10:15:20 +0200 Subject: fixes for status and alert MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- src/editor.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'src/editor.py') diff --git a/src/editor.py b/src/editor.py index 8694dad..0afe17d 100644 --- a/src/editor.py +++ b/src/editor.py @@ -367,6 +367,12 @@ class TextArea(): + def limit_text(self, text): + max_len = self.width - self.left + if len(text) > max_len: + text = text[:max_len - 1] + '…' + return text + def status(self, text): ''' Print a message to the status bar @@ -374,9 +380,11 @@ class TextArea(): @param text:str The message ''' txt = ' (' + text + ') ' - y = self.top + self.y + y = self.top + self.y - self.offy x = self.left + self.innerleft + self.x - self.offx - print('%s\033[7m%s-\033[27m%s' % (Jump(self.height - 1, 1), txt + '-' * (self.width - len(txt)), Jump(y, x)), end='') + dashes = max(self.width - len(txt) - self.left, 0) + Jump(self.top + self.height - 1, self.left)() + print('\033[7m%s-\033[27m%s' % (self.limit_text(txt + '-' * dashes), Jump(y, x)), end='') self.last_status = text def alert(self, text): @@ -389,9 +397,10 @@ class TextArea(): self.alert('') self.alerted = False else: - y = self.top + self.y + y = self.top + self.y - self.offy x = self.left + self.innerleft + self.x - self.offx - print('%s\033[2K%s%s' % (Jump(self.height, 1), text, Jump(y, x)), end='') + Jump(self.top + self.height, self.left)() + print('\033[2K%s%s' % (self.limit_text(text), Jump(y, x)), end='') self.alerted = True self.last_alert = text -- cgit v1.2.3-70-g09d2