From 9e9cb883e70945974a075ac204903738e5a13814 Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Thu, 17 Apr 2025 01:04:38 -0400 Subject: [PATCH 1/3] Updated requirements.txt. --- requirements.txt | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/requirements.txt b/requirements.txt index 008df773..7c22f473 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,8 +1,9 @@ -evdev>=1.1.2 -daemonize>=2.5.0 -dbus-python>=1.2.8 -pyudev>=0.21.0 +daemonize +evdev pexpect +pyenchant pyperclip -pyte>=0.7.0 +pyte +pyudev +pyxdg setproctitle From 3212962a5b2d4de84cd91be5dbef658ebab46a21 Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Mon, 21 Apr 2025 14:04:57 -0400 Subject: [PATCH 2/3] Adjusted a few of the defaults in punctuation and in settings file. Logs are now in a more screen reader friendly format with timestamps and level coming after the actual information. --- config/punctuation/default.conf | 2 +- config/punctuation/en.conf | 2 +- config/punctuation/rhvoice-en.conf | 2 +- config/settings/settings.conf | 6 +++--- src/fenrirscreenreader/core/debugManager.py | 11 +++++++---- src/fenrirscreenreader/fenrirVersion.py | 2 +- 6 files changed, 14 insertions(+), 11 deletions(-) diff --git a/config/punctuation/default.conf b/config/punctuation/default.conf index ffb850bf..66608489 100644 --- a/config/punctuation/default.conf +++ b/config/punctuation/default.conf @@ -4,7 +4,7 @@ # the entrys are seperated with :===: in words colon tripple equal colon ( to not collide with substitutions) [levelDict] none:===: -some:===:-$~+*-/\@# +some:===:-$~+*-/\@#_ most:===:.,:-$~+*-/\@!#%^&*()[]}{<>; all:===:!"#$%& \'()*+,-./:;<=>?@[\\]^_`{|}~ diff --git a/config/punctuation/en.conf b/config/punctuation/en.conf index dcc8268b..a75b7b62 100644 --- a/config/punctuation/en.conf +++ b/config/punctuation/en.conf @@ -4,7 +4,7 @@ # the entrys are seperated with :===: in words colon tripple equal colon ( to not collide with substitutions) [levelDict] none:===: -some:===:-$~+*-/\@ +some:===:-$~+*-/\@_ most:===:.,:-$~+*-/\@!#%^&*()[]}{<>; all:===:!"#$%& \'()*+,-./:;<=>?@[\\]^_`{|}~ diff --git a/config/punctuation/rhvoice-en.conf b/config/punctuation/rhvoice-en.conf index 9e322b21..4101ea68 100644 --- a/config/punctuation/rhvoice-en.conf +++ b/config/punctuation/rhvoice-en.conf @@ -4,7 +4,7 @@ # the entrys are seperated with :===: in words colon tripple equal colon ( to not collide with substitutions) [levelDict] none:===: -some:===:-$~+*-/\@ +some:===:-$~+*-/\@_ most:===:.,:-$~+*-/\@!#%^&*()[]}{<>; all:===:!"#$%& \'()*+,-./:;<=>?@[\\]^_`{|}~ diff --git a/config/settings/settings.conf b/config/settings/settings.conf index 8eb36302..7853dec6 100644 --- a/config/settings/settings.conf +++ b/config/settings/settings.conf @@ -15,7 +15,7 @@ theme=default # Sound volume controls how loud the sounds for your selected soundpack are. # 0 is quietest, 1.0 is loudest. -volume=1.0 +volume=0.7 # shell commands for generic sound driver # the folowing variable are substituted @@ -131,7 +131,7 @@ punctuationProfile=default punctuationLevel=some respectPunctuationPause=True newLinePause=True -numberOfClipboards=10 +numberOfClipboards=50 # used path for "export_clipboard_to_file" # $user is replaced by username #clipboardExportPath=/home/$user/fenrirClipboard @@ -190,7 +190,7 @@ enableSettingsRemote=True enableCommandRemote=True [barrier] -enabled=True +enabled=False leftBarriers=│└┌─ rightBarriers=│┘┐─ diff --git a/src/fenrirscreenreader/core/debugManager.py b/src/fenrirscreenreader/core/debugManager.py index 1325b756..0e018e40 100644 --- a/src/fenrirscreenreader/core/debugManager.py +++ b/src/fenrirscreenreader/core/debugManager.py @@ -52,12 +52,15 @@ class debugManager(): else: if not self._fileOpened and fileMode: self.openDebugFile() + timestamp = str(datetime.utcnow().strftime('%Y-%m-%d %H:%M:%S.%f')) if onAnyLevel: - msg = 'ANY '+ str(level) + ' ' + str(datetime.utcnow().strftime('%Y-%m-%d %H:%M:%S.%f')) + levelInfo = 'INFO ANY' else: - msg = str(level) +' ' + str(datetime.utcnow().strftime('%Y-%m-%d %H:%M:%S.%f') -) - msg += ': ' + text + levelInfo = str(level) + + # Changed order: text comes first, then level and timestamp + msg = text + ' - ' + levelInfo + ' ' + timestamp + if printMode: print(msg) if fileMode: diff --git a/src/fenrirscreenreader/fenrirVersion.py b/src/fenrirscreenreader/fenrirVersion.py index 4130e89c..e498b246 100644 --- a/src/fenrirscreenreader/fenrirVersion.py +++ b/src/fenrirscreenreader/fenrirVersion.py @@ -4,5 +4,5 @@ # Fenrir TTY screen reader # By Chrys, Storm Dragon, and contributers. -version = "2025.04.17" +version = "2025.04.21" codeName = "testing" From 6b84a8e9bc9151f1853f4aa304801af2b1d51ca6 Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Wed, 23 Apr 2025 01:36:03 -0400 Subject: [PATCH 3/3] Rename suspendingScreen to ignoreScreen. Requires edit to your settings file, find suspending and change it to ignore. This may break stuff, please let me know. --- config/settings/settings.conf | 4 ++-- src/fenrirscreenreader/core/commandManager.py | 6 +++--- src/fenrirscreenreader/core/fenrirManager.py | 2 +- src/fenrirscreenreader/core/screenManager.py | 12 ++++++------ src/fenrirscreenreader/core/settingsData.py | 4 ++-- src/fenrirscreenreader/fenrirVersion.py | 2 +- 6 files changed, 15 insertions(+), 15 deletions(-) diff --git a/config/settings/settings.conf b/config/settings/settings.conf index 7853dec6..d65bdf3a 100644 --- a/config/settings/settings.conf +++ b/config/settings/settings.conf @@ -92,8 +92,8 @@ fenrirMaxRate=450 driver=vcsaDriver encoding=auto screenUpdateDelay=0.05 -suspendingScreen= -autodetectSuspendingScreen=True +ignoreScreen= +autodetectIgnoreScreen=True [keyboard] driver=evdevDriver diff --git a/src/fenrirscreenreader/core/commandManager.py b/src/fenrirscreenreader/core/commandManager.py index f64f3d3a..f126cb19 100644 --- a/src/fenrirscreenreader/core/commandManager.py +++ b/src/fenrirscreenreader/core/commandManager.py @@ -176,7 +176,7 @@ class commandManager(): continue def executeSwitchTrigger(self, trigger, unLoadScript, loadScript): - if self.env['runtime']['screenManager'].isSuspendingScreen(): + if self.env['runtime']['screenManager'].isIgnoredScreen(): return #unload oldScript = unLoadScript @@ -199,7 +199,7 @@ class commandManager(): def executeDefaultTrigger(self, trigger, force=False): if not force: - if self.env['runtime']['screenManager'].isSuspendingScreen(): + if self.env['runtime']['screenManager'].isIgnoredScreen(): return for command in sorted(self.env['commands'][trigger]): if self.commandExists(command, trigger): @@ -214,7 +214,7 @@ class commandManager(): self.env['runtime']['debug'].writeDebugOut("Executing trigger:" + trigger + "." + command + str(e) ,debug.debugLevel.ERROR) def executeCommand(self, command, section = 'commands'): - if self.env['runtime']['screenManager'].isSuspendingScreen(): + if self.env['runtime']['screenManager'].isIgnoredScreen(): return if self.commandExists(command, section): try: diff --git a/src/fenrirscreenreader/core/fenrirManager.py b/src/fenrirscreenreader/core/fenrirManager.py index fedbe4ba..cd0131cf 100644 --- a/src/fenrirscreenreader/core/fenrirManager.py +++ b/src/fenrirscreenreader/core/fenrirManager.py @@ -55,7 +55,7 @@ class fenrirManager(): if self.environment['runtime']['inputManager'].noKeyPressed(): self.environment['runtime']['inputManager'].clearLastDeepInput() - if self.environment['runtime']['screenManager'].isSuspendingScreen(): + if self.environment['runtime']['screenManager'].isIgnoredScreen(): self.environment['runtime']['inputManager'].writeEventBuffer() else: if self.environment['runtime']['helpManager'].isTutorialMode(): diff --git a/src/fenrirscreenreader/core/screenManager.py b/src/fenrirscreenreader/core/screenManager.py index 13203162..3f7afe98 100644 --- a/src/fenrirscreenreader/core/screenManager.py +++ b/src/fenrirscreenreader/core/screenManager.py @@ -59,7 +59,7 @@ class screenManager(): if self.isCurrScreenIgnoredChanged(): self.env['runtime']['inputManager'].setExecuteDeviceGrab() self.env['runtime']['inputManager'].handleDeviceGrab() - if not self.isSuspendingScreen(self.env['screen']['newTTY']): + if not self.isIgnoredScreen(self.env['screen']['newTTY']): self.update(eventData, 'onScreenChange') self.env['screen']['lastScreenUpdate'] = time.time() else: @@ -81,7 +81,7 @@ class screenManager(): return self.prevScreenIgnored def updateScreenIgnored(self): self.prevScreenIgnored = self.currScreenIgnored - self.currScreenIgnored = self.isSuspendingScreen(self.env['screen']['newTTY']) + self.currScreenIgnored = self.isIgnoredScreen(self.env['screen']['newTTY']) def update(self, eventData, trigger='onUpdate'): # set new "old" values self.env['screen']['oldContentBytes'] = self.env['screen']['newContentBytes'] @@ -174,16 +174,16 @@ class screenManager(): except Exception as e: self.env['runtime']['debug'].writeDebugOut('screenManager:update:highlight: ' + str(e),debug.debugLevel.ERROR) - def isSuspendingScreen(self, screen = None): + def isIgnoredScreen(self, screen = None): if screen == None: screen = self.env['screen']['newTTY'] ignoreScreens = [] - fixIgnoreScreens = self.env['runtime']['settingsManager'].getSetting('screen', 'suspendingScreen') + fixIgnoreScreens = self.env['runtime']['settingsManager'].getSetting('screen', 'ignoreScreen') if fixIgnoreScreens != '': ignoreScreens.extend(fixIgnoreScreens.split(',')) - if self.env['runtime']['settingsManager'].getSettingAsBool('screen', 'autodetectSuspendingScreen'): + if self.env['runtime']['settingsManager'].getSettingAsBool('screen', 'autodetectIgnoreScreen'): ignoreScreens.extend(self.env['screen']['autoIgnoreScreens']) - self.env['runtime']['debug'].writeDebugOut('screenManager:isSuspendingScreen ignore:' + str(ignoreScreens) + ' current:'+ str(screen ), debug.debugLevel.INFO) + self.env['runtime']['debug'].writeDebugOut('screenManager:isIgnoredScreen ignore:' + str(ignoreScreens) + ' current:'+ str(screen ), debug.debugLevel.INFO) return (screen in ignoreScreens) def isScreenChange(self): diff --git a/src/fenrirscreenreader/core/settingsData.py b/src/fenrirscreenreader/core/settingsData.py index 15f9c702..d5c681e8 100644 --- a/src/fenrirscreenreader/core/settingsData.py +++ b/src/fenrirscreenreader/core/settingsData.py @@ -40,8 +40,8 @@ settingsData = { 'driver': 'vcsaDriver', 'encoding': 'auto', 'screenUpdateDelay': 0.1, - 'suspendingScreen': '', - 'autodetectSuspendingScreen': False, + 'ignoreScreen': '', + 'autodetectIgnoreScreen': False, }, 'general':{ 'debugLevel': debug.debugLevel.DEACTIVE, diff --git a/src/fenrirscreenreader/fenrirVersion.py b/src/fenrirscreenreader/fenrirVersion.py index e498b246..06cda4e3 100644 --- a/src/fenrirscreenreader/fenrirVersion.py +++ b/src/fenrirscreenreader/fenrirVersion.py @@ -4,5 +4,5 @@ # Fenrir TTY screen reader # By Chrys, Storm Dragon, and contributers. -version = "2025.04.21" +version = "2025.04.23" codeName = "testing"