From 0407d39a3a1aa1e310f82244e532b8d6805b311f Mon Sep 17 00:00:00 2001 From: chrys Date: Sat, 5 Nov 2016 00:11:54 +0100 Subject: [PATCH] respect hilight mode on enter review --- src/fenrir/commands/onInput/72000-history.py | 4 +++- src/fenrir/core/cursorManager.py | 5 +++++ src/fenrir/screenDriver/linux.py | 7 +++++-- src/fenrir/utils/screen_utils.py | 4 ---- 4 files changed, 13 insertions(+), 7 deletions(-) diff --git a/src/fenrir/commands/onInput/72000-history.py b/src/fenrir/commands/onInput/72000-history.py index 417ec489..23a5e737 100644 --- a/src/fenrir/commands/onInput/72000-history.py +++ b/src/fenrir/commands/onInput/72000-history.py @@ -18,7 +18,9 @@ class command(): def run(self): if self.env['runtime']['inputManager'].noKeyPressed(): - return + return + if self.env['screenData']['newAttribDelta'] != '': + return if self.env['screenData']['newTTY'] != self.env['screenData']['oldTTY']: return if self.env['screenData']['newCursor']['y'] != self.env['screenData']['oldCursor']['y']: diff --git a/src/fenrir/core/cursorManager.py b/src/fenrir/core/cursorManager.py index 32d4cd2f..13320c04 100644 --- a/src/fenrir/core/cursorManager.py +++ b/src/fenrir/core/cursorManager.py @@ -56,6 +56,11 @@ class cursorManager(): self.env['screenData']['oldCursorReview'] = self.env['screenData']['newCursorReview'] if not self.env['screenData']['newCursorReview']: self.env['screenData']['newCursorReview'] = self.env['screenData']['newCursor'].copy() + if self.env['runtime']['settingsManager'].getSettingAsBool('focus', 'highlight') and \ + self.env['screenData']['newCursorAttrib'] != None: + if self.env['screenData']['newCursorAttrib']['x'] != 0 and \ + self.env['screenData']['newCursorAttrib']['y'] != 0: + self.env['screenData']['newCursorReview'] = self.env['screenData']['newCursorAttrib'].copy() def setReviewCursorPosition(self, x, y): if not self.isReviewMode(): self.enterReviewModeCurrTextCursor() diff --git a/src/fenrir/screenDriver/linux.py b/src/fenrir/screenDriver/linux.py index c25016a7..7c5d396f 100644 --- a/src/fenrir/screenDriver/linux.py +++ b/src/fenrir/screenDriver/linux.py @@ -85,6 +85,8 @@ class driver(): self.env['screenData']['oldContentText'] = self.env['screenData']['newContentText'] self.env['screenData']['oldContentAttrib'] = self.env['screenData']['newContentAttrib'] self.env['screenData']['oldCursor'] = self.env['screenData']['newCursor'].copy() + if self.env['screenData']['newCursorAttrib']: + self.env['screenData']['oldCursorAttrib'] = self.env['screenData']['newCursorAttrib'].copy() self.env['screenData']['oldDelta'] = self.env['screenData']['newDelta'] self.env['screenData']['oldAttribDelta'] = self.env['screenData']['newAttribDelta'] self.env['screenData']['oldNegativeDelta'] = self.env['screenData']['newNegativeDelta'] @@ -109,6 +111,7 @@ class driver(): self.env['screenData']['oldDelta'] = '' self.env['screenData']['oldAttribDelta'] = '' self.env['screenData']['oldCursorAttrib'] = None + self.env['screenData']['newCursorAttrib'] = None self.env['screenData']['oldNegativeDelta'] = '' # initialize current deltas self.env['screenData']['newNegativeDelta'] = '' @@ -151,6 +154,6 @@ class driver(): # track highlighted if self.env['screenData']['oldContentAttrib'] != self.env['screenData']['newContentAttrib']: - if not self.env['runtime']['settingsManager'].getSettingAsBool('focus', 'highlight'): - self.env['screenData']['newAttribDelta'], currCursor = screen_utils.trackHighlights(self.env['screenData']['oldContentAttrib'], self.env['screenData']['newContentAttrib'], self.env['screenData']['newContentText'], self.env['screenData']['columns']) + if self.env['runtime']['settingsManager'].getSettingAsBool('focus', 'highlight'): + self.env['screenData']['newAttribDelta'], self.env['screenData']['newCursorAttrib'] = screen_utils.trackHighlights(self.env['screenData']['oldContentAttrib'], self.env['screenData']['newContentAttrib'], self.env['screenData']['newContentText'], self.env['screenData']['columns']) diff --git a/src/fenrir/utils/screen_utils.py b/src/fenrir/utils/screen_utils.py index 5de55a9d..54190ffe 100644 --- a/src/fenrir/utils/screen_utils.py +++ b/src/fenrir/utils/screen_utils.py @@ -20,10 +20,6 @@ def insertNewlines(string, every=64): def splitEvery(string, every=64): return list(string[i:i+every] for i in range(0, len(string), every)) -old = b'eeeemmmeeeeeeeee' -new = b'eeeeeueeeeeeeeee' -text = 'das ist ein test' - def trackHighlights(oldAttr, newAttr, text, lenght): result = '' currCursor = None