make highlighted mode work in driver
This commit is contained in:
parent
965c850ca2
commit
0221ba358f
@ -21,6 +21,7 @@ ReadWrite permission
|
||||
- brltty, python-brlapi [using braille] # (not implemented yet)
|
||||
- gstreamer [soundicons via gstreamer] # not working yet
|
||||
- python-pyenchant [spell check functionality]
|
||||
- aspell-<language> [your languagedata for spellchecker, english support "aspell-en"]
|
||||
- python-daemonize [use fenrir as background service on Unix like systems]
|
||||
|
||||
# installation
|
||||
|
@ -77,8 +77,8 @@ autodetectSuspendingScreen=True
|
||||
|
||||
[keyboard]
|
||||
driver=evdev
|
||||
# filter input devices AUTO, ALL or a DEVICE NAME
|
||||
device=AUTO
|
||||
# filter input devices NOMICE, ALL or a DEVICE NAME
|
||||
device=ALL
|
||||
# gives fenrir exclusive access to the keyboard and let consume keystrokes. just disable on problems.
|
||||
grabDevices=True
|
||||
ignoreShortcuts=False
|
||||
|
@ -77,8 +77,8 @@ autodetectSuspendingScreen=True
|
||||
|
||||
[keyboard]
|
||||
driver=evdev
|
||||
# filter input devices AUTO, ALL or a DEVICE NAME
|
||||
device=AUTO
|
||||
# filter input devices NOMICE, ALL or a DEVICE NAME
|
||||
device=ALL
|
||||
# gives fenrir exclusive access to the keyboard and let consume keystrokes. just disable on problems.
|
||||
grabDevices=True
|
||||
ignoreShortcuts=False
|
||||
|
@ -34,8 +34,8 @@ autodetectSuspendingScreen=False
|
||||
|
||||
[keyboard]
|
||||
driver=evdev
|
||||
# filter input devices AUTO, ALL or a DEVICE NAME
|
||||
device=AUTO
|
||||
# filter input devices NOMICE, ALL or a DEVICE NAME
|
||||
device=ALL
|
||||
grabDevices=True
|
||||
ignoreShortcuts=False
|
||||
keyboardLayout=desktop
|
||||
|
@ -75,7 +75,7 @@ class driver():
|
||||
if self.env['runtime']['settingsManager'].getSetting('keyboard', 'device').upper() == 'ALL':
|
||||
self.iDevices = {dev.fd: dev for dev in self.iDevices if 1 in dev.capabilities()}
|
||||
self.ledDevices = {dev.fd: dev for dev in self.ledDevices if 1 in dev.capabilities() and 17 in dev.capabilities()}
|
||||
elif self.env['runtime']['settingsManager'].getSetting('keyboard', 'device').upper() == 'AUTO':
|
||||
elif self.env['runtime']['settingsManager'].getSetting('keyboard', 'device').upper() == 'NOMICE':
|
||||
self.iDevices = {dev.fd: dev for dev in self.iDevices if 1 in dev.capabilities() and not 3 in dev.capabilities() and not 2 in dev.capabilities()}
|
||||
self.ledDevices = {dev.fd: dev for dev in self.ledDevices if 1 in dev.capabilities() and 17 in dev.capabilities() and not 3 in dev.capabilities() and not 2 in dev.capabilities()}
|
||||
else:
|
||||
|
@ -5,7 +5,7 @@
|
||||
# By Chrys, Storm Dragon, and contributers.
|
||||
|
||||
import difflib
|
||||
import re
|
||||
import re, time
|
||||
import subprocess
|
||||
from core import debug
|
||||
from utils import screen_utils
|
||||
@ -20,6 +20,7 @@ class driver():
|
||||
def getCurrScreen(self):
|
||||
self.env['screenData']['oldTTY'] = self.env['screenData']['newTTY']
|
||||
try:
|
||||
time.sleep(0.1)
|
||||
currScreenFile = open('/sys/devices/virtual/tty/tty0/active','r')
|
||||
self.env['screenData']['newTTY'] = str(currScreenFile.read()[3:-1])
|
||||
currScreenFile.close()
|
||||
@ -149,8 +150,7 @@ class driver():
|
||||
self.env['screenData']['newNegativeDelta'] = ''.join(x[2:] for x in diffList if x[0] == '-')
|
||||
|
||||
# track highlighted
|
||||
#print(self.env['screenData']['oldContentAttrib'] , self.env['screenData']['newContentAttrib'])
|
||||
if self.env['screenData']['oldContentAttrib'] != self.env['screenData']['newContentAttrib']:
|
||||
self.env['screenData']['newAttribDelta'], currCursor = screen_utils.trackHighlights(self.env['screenData']['oldContentAttrib'], self.env['screenData']['newContentAttrib'], self.env['screenData']['newContentText'], self.env['screenData']['columns'])
|
||||
#print('drin',self.env['screenData']['newAttribDelta'])
|
||||
print('drin',self.env['screenData']['newAttribDelta'])
|
||||
|
||||
|
@ -24,14 +24,14 @@ def trackHighlights(oldAttr, newAttr, text, lenght):
|
||||
return result, currCursor
|
||||
if len(newAttr) == 0:
|
||||
return result, currCursor
|
||||
textLines = insertNewlines(text,lenght)
|
||||
textLines = textLines.split('\n')
|
||||
if len(oldAttr) != len(newAttr):
|
||||
return result, currCursor
|
||||
old = splitEvery(oldAttr,lenght)
|
||||
new = splitEvery(newAttr,lenght)
|
||||
if len(old) != len(new):
|
||||
return result, currCursor
|
||||
if len(text) != len(new):
|
||||
textLines = text.split('\n')
|
||||
if len(textLines) != len(new):
|
||||
return result, currCursor
|
||||
|
||||
try:
|
||||
background = Counter(newAttr).most_common(1)
|
||||
background = background[0][0]
|
||||
@ -39,10 +39,11 @@ def trackHighlights(oldAttr, newAttr, text, lenght):
|
||||
background = chr(7)
|
||||
for line in range(len(new)):
|
||||
if old[line] != new[line]:
|
||||
for column in range(len(new)):
|
||||
for column in range(len(new[line])):
|
||||
if old[line][column] != new[line][column]:
|
||||
if new[line][column] != background:
|
||||
if not currCursor:
|
||||
currCursor = {}
|
||||
currCursor['x'] = column
|
||||
currCursor['y'] = line
|
||||
result += textLines[line][column]
|
||||
|
Loading…
Reference in New Issue
Block a user