From c359c037e1c342243af1b36715e39465197c1370 Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Fri, 5 Sep 2025 00:01:59 -0400 Subject: [PATCH] Preparing to merge. --- Toby Doom Launcher.py | 54 ++++++++++++++++++++++--------------------- 1 file changed, 28 insertions(+), 26 deletions(-) diff --git a/Toby Doom Launcher.py b/Toby Doom Launcher.py index 65ad1ce..97708fe 100755 --- a/Toby Doom Launcher.py +++ b/Toby Doom Launcher.py @@ -126,26 +126,28 @@ if platform.system() == "Windows": print(f"Failed to initialize accessible_output2: {e}") sys.exit() else: - # Linux/Mac path - prioritize Orca remote controller - orca_remote = OrcaRemoteController() - if orca_remote.available: - speechProvider = "orca_remote" - orca = orca_remote - else: - try: - output = subprocess.check_output(["pgrep", "cthulhu"]) - speechProvider = "cthulhu" - except (subprocess.CalledProcessError, FileNotFoundError): + # Linux/Mac path - prioritize speech-dispatcher first + try: + import speechd + spd = speechd.Client() + speechProvider = "speechd" + except ImportError: + # Fall back to Orca remote controller + orca_remote = OrcaRemoteController() + if orca_remote.available: + speechProvider = "orca_remote" + orca = orca_remote + else: + # Fall back to Cthulhu try: - import accessible_output2.outputs.auto - s = accessible_output2.outputs.auto.Auto() - speechProvider = "accessible_output2" - except ImportError as e: + output = subprocess.check_output(["pgrep", "cthulhu"]) + speechProvider = "cthulhu" + except (subprocess.CalledProcessError, FileNotFoundError): try: - import speechd - spd = speechd.Client() - speechProvider = "speechd" - except ImportError: + import accessible_output2.outputs.auto + s = accessible_output2.outputs.auto.Auto() + speechProvider = "accessible_output2" + except ImportError as e: print("No speech providers found.") sys.exit() @@ -1961,7 +1963,14 @@ class DoomLauncher(QMainWindow): except ImportError: pass else: - # On Linux, check each provider + # On Linux, check each provider in priority order + # Check speechd first (highest priority) + try: + import speechd + available_providers.append("speechd") + except ImportError: + pass + # Check Orca remote controller orca_remote = OrcaRemoteController() if orca_remote.available: @@ -1980,13 +1989,6 @@ class DoomLauncher(QMainWindow): available_providers.append("accessible_output2") except ImportError: pass - - # Check speechd - try: - import speechd - available_providers.append("speechd") - except ImportError: - pass return available_providers