fix has attribute
This commit is contained in:
parent
0c02532dba
commit
c25bda45b2
@ -14,7 +14,7 @@ class attributeManager():
|
|||||||
self.currAttributeDelta = ''
|
self.currAttributeDelta = ''
|
||||||
self.currAttributeCursor = None
|
self.currAttributeCursor = None
|
||||||
self.prefAttributeCursor = None
|
self.prefAttributeCursor = None
|
||||||
self.setDefaultAttributes()
|
self.initDefaultAttributes()
|
||||||
self.prevLastCursorAttribute = None
|
self.prevLastCursorAttribute = None
|
||||||
self.currLastCursorAttribute = None
|
self.currLastCursorAttribute = None
|
||||||
|
|
||||||
@ -30,7 +30,7 @@ class attributeManager():
|
|||||||
self.currLastCursorAttribute = None
|
self.currLastCursorAttribute = None
|
||||||
def isLastCursorAttributeChange(self):
|
def isLastCursorAttributeChange(self):
|
||||||
if self.prevLastCursorAttribute == None:
|
if self.prevLastCursorAttribute == None:
|
||||||
return True
|
return False
|
||||||
return self.prevLastCursorAttribute != self.currLastCursorAttribute
|
return self.prevLastCursorAttribute != self.currLastCursorAttribute
|
||||||
def getCurrAttributeCursor(self):
|
def getCurrAttributeCursor(self):
|
||||||
return self.currAttributeCursor
|
return self.currAttributeCursor
|
||||||
@ -76,7 +76,13 @@ class attributeManager():
|
|||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
return None
|
return None
|
||||||
def setDefaultAttributes(self):
|
def appendDefaultAttributes(self, attribute):
|
||||||
|
if not attribute:
|
||||||
|
return
|
||||||
|
if len(attribute) != 10:
|
||||||
|
return
|
||||||
|
self.defaultAttributes.append(attribute)
|
||||||
|
def initDefaultAttributes(self):
|
||||||
self.defaultAttributes = [None]
|
self.defaultAttributes = [None]
|
||||||
self.defaultAttributes.append([
|
self.defaultAttributes.append([
|
||||||
'default', # fg
|
'default', # fg
|
||||||
@ -89,19 +95,7 @@ class attributeManager():
|
|||||||
False, # blink
|
False, # blink
|
||||||
'default', # fontsize
|
'default', # fontsize
|
||||||
'default' # fontfamily
|
'default' # fontfamily
|
||||||
]) #end attribute
|
]) #end attribute
|
||||||
self.defaultAttributes.append([
|
|
||||||
'white', # fg
|
|
||||||
'black', # bg
|
|
||||||
False, # bold
|
|
||||||
False, # italics
|
|
||||||
False, # underscore
|
|
||||||
False, # strikethrough
|
|
||||||
False, # reverse
|
|
||||||
False, # blink
|
|
||||||
'default', # fontsize
|
|
||||||
'default' # fontfamily
|
|
||||||
]) #end attribute
|
|
||||||
def isDefaultAttribute(self,attribute):
|
def isDefaultAttribute(self,attribute):
|
||||||
return attribute in self.defaultAttributes
|
return attribute in self.defaultAttributes
|
||||||
def hasAttributes(self, cursor, update=True):
|
def hasAttributes(self, cursor, update=True):
|
||||||
@ -110,16 +104,19 @@ class attributeManager():
|
|||||||
cursorPos = cursor.copy()
|
cursorPos = cursor.copy()
|
||||||
try:
|
try:
|
||||||
attribute = self.getAttributeByXY( cursorPos['x'], cursorPos['y'])
|
attribute = self.getAttributeByXY( cursorPos['x'], cursorPos['y'])
|
||||||
|
|
||||||
if self.isDefaultAttribute(attribute):
|
|
||||||
return False
|
|
||||||
if update:
|
if update:
|
||||||
self.setLastCursorAttribute(attribute)
|
self.setLastCursorAttribute(attribute)
|
||||||
if not self.isLastCursorAttributeChange():
|
if not self.isLastCursorAttributeChange():
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
if self.isDefaultAttribute(attribute):
|
||||||
|
return False
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
return False
|
return False
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def formatAttributes(self, attribute, attributeFormatString = ''):
|
def formatAttributes(self, attribute, attributeFormatString = ''):
|
||||||
# "black",
|
# "black",
|
||||||
# "red",
|
# "red",
|
||||||
|
@ -175,7 +175,6 @@ class screenManager():
|
|||||||
self.env['runtime']['attributeManager'].setAttributeCursor(attributeCursor)
|
self.env['runtime']['attributeManager'].setAttributeCursor(attributeCursor)
|
||||||
self.env['runtime']['attributeManager'].setAttributeDelta(attributeDelta)
|
self.env['runtime']['attributeManager'].setAttributeDelta(attributeDelta)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(e)
|
|
||||||
self.env['runtime']['debug'].writeDebugOut('screenManager:update:highlight: ' + str(e),debug.debugLevel.ERROR)
|
self.env['runtime']['debug'].writeDebugOut('screenManager:update:highlight: ' + str(e),debug.debugLevel.ERROR)
|
||||||
|
|
||||||
def isSuspendingScreen(self, screen = None):
|
def isSuspendingScreen(self, screen = None):
|
||||||
|
@ -34,6 +34,18 @@ class driver(screenDriver):
|
|||||||
self.hichar = None
|
self.hichar = None
|
||||||
def initialize(self, environment):
|
def initialize(self, environment):
|
||||||
self.env = environment
|
self.env = environment
|
||||||
|
self.env['runtime']['attributeManager'].appendDefaultAttributes([
|
||||||
|
self.fgColorValues[7], # fg
|
||||||
|
self.bgColorValues[0], # bg
|
||||||
|
False, # bold
|
||||||
|
False, # italics
|
||||||
|
False, # underscore
|
||||||
|
False, # strikethrough
|
||||||
|
False, # reverse
|
||||||
|
False, # blink
|
||||||
|
'default', # fontsize
|
||||||
|
'default' # fontfamily
|
||||||
|
]) #end attribute )
|
||||||
self.env['runtime']['processManager'].addCustomEventThread(self.updateWatchdog, multiprocess=True)
|
self.env['runtime']['processManager'].addCustomEventThread(self.updateWatchdog, multiprocess=True)
|
||||||
def getCurrScreen(self):
|
def getCurrScreen(self):
|
||||||
self.env['screen']['oldTTY'] = self.env['screen']['newTTY']
|
self.env['screen']['oldTTY'] = self.env['screen']['newTTY']
|
||||||
@ -205,8 +217,8 @@ class driver(screenDriver):
|
|||||||
#ink = 7
|
#ink = 7
|
||||||
#paper = 0
|
#paper = 0
|
||||||
#ch = ' '
|
#ch = ' '
|
||||||
charAttrib = (
|
charAttrib = [
|
||||||
self.fgColorValues[15], # fg
|
self.fgColorValues[7], # fg
|
||||||
self.bgColorValues[0], # bg
|
self.bgColorValues[0], # bg
|
||||||
False, # bold
|
False, # bold
|
||||||
False, # italics
|
False, # italics
|
||||||
@ -215,7 +227,7 @@ class driver(screenDriver):
|
|||||||
False, # reverse
|
False, # reverse
|
||||||
False, # blink
|
False, # blink
|
||||||
'default', # fontsize
|
'default', # fontsize
|
||||||
'default') # fontfamily
|
'default'] # fontfamily
|
||||||
lineAttrib.append(charAttrib)
|
lineAttrib.append(charAttrib)
|
||||||
lineText += ' '
|
lineText += ' '
|
||||||
continue
|
continue
|
||||||
@ -229,6 +241,8 @@ class driver(screenDriver):
|
|||||||
blink = 0
|
blink = 0
|
||||||
if attr & 1:
|
if attr & 1:
|
||||||
blink = 1
|
blink = 1
|
||||||
|
# blink seems to be set always, ignore for now
|
||||||
|
blink = 0
|
||||||
bold = 0
|
bold = 0
|
||||||
if attr & 16:
|
if attr & 16:
|
||||||
bold = 1
|
bold = 1
|
||||||
@ -240,7 +254,7 @@ class driver(screenDriver):
|
|||||||
lineText += self.charmap[ch]
|
lineText += self.charmap[ch]
|
||||||
except KeyError:
|
except KeyError:
|
||||||
lineText += '?'
|
lineText += '?'
|
||||||
charAttrib = (
|
charAttrib = [
|
||||||
self.fgColorValues[ink],
|
self.fgColorValues[ink],
|
||||||
self.bgColorValues[paper],
|
self.bgColorValues[paper],
|
||||||
bold == 1, # bold
|
bold == 1, # bold
|
||||||
@ -250,7 +264,7 @@ class driver(screenDriver):
|
|||||||
False, # reverse
|
False, # reverse
|
||||||
blink == 1, # blink
|
blink == 1, # blink
|
||||||
'default', # fontsize
|
'default', # fontsize
|
||||||
'default') # fontfamily
|
'default'] # fontfamily
|
||||||
lineAttrib.append(charAttrib)
|
lineAttrib.append(charAttrib)
|
||||||
allText += lineText
|
allText += lineText
|
||||||
if y + 1 < rows:
|
if y + 1 < rows:
|
||||||
|
Loading…
Reference in New Issue
Block a user