Experimental: add speech selector to startup.

This commit is contained in:
Storm Dragon committed 2026-09-15 22:52:13 -04:00
1 parent 7ee829d56c
commit a8d4fc1fc1
10 files changed
+898 -10

No files matched your search

+31 -6
View File
@@ -31,6 +31,14 @@ errorCount=0
warningCount=0
currentStep="initialization"
cleanupOnError=false
selectedSpeechModule="rhvoice"
if [[ -r /run/stormux/selected-speech-module ]]; then
mapfile -t selectedSpeechLines < /run/stormux/selected-speech-module
if [[ ${#selectedSpeechLines[@]} -eq 1 && "${selectedSpeechLines[0]}" =~ ^[A-Za-z0-9][A-Za-z0-9_.-]*$ ]]; then
selectedSpeechModule="${selectedSpeechLines[0]}"
fi
fi
#
@@ -1412,7 +1420,7 @@ install_base_system() {
# Stormux-specific packages (installed later in chroot after keyring setup)
# Note: NOT local so it's available in configure_system()
stormuxPackages=(
yay w3m-git
openevv-git yay w3m-git
)
# Combine all packages
@@ -1902,11 +1910,28 @@ if command -v spd-conf > /dev/null 2>&1; then
fi
if [[ -f /etc/speech-dispatcher/speechd.conf ]]; then
if grep -qE '^[[:space:]]*#?[[:space:]]*DefaultModule[[:space:]]+' /etc/speech-dispatcher/speechd.conf; then
sed -i -E 's/^[[:space:]]*#?[[:space:]]*DefaultModule[[:space:]]+.*/DefaultModule rhvoice/' /etc/speech-dispatcher/speechd.conf
else
printf '\nDefaultModule rhvoice\n' >> /etc/speech-dispatcher/speechd.conf
fi
speechConfig=/etc/speech-dispatcher/speechd.conf
speechConfigTemp="\$(mktemp "\${speechConfig}.stormux.XXXXXX")"
awk -v moduleName="${selectedSpeechModule}" '
BEGIN { wroteDefault = 0 }
/^[[:space:]]*#?[[:space:]]*DefaultModule[[:space:]]+/ {
if (!wroteDefault) {
print "DefaultModule " moduleName
wroteDefault = 1
}
next
}
{ print }
END {
if (!wroteDefault) {
print ""
print "DefaultModule " moduleName
}
}
' "\$speechConfig" > "\$speechConfigTemp"
chown --reference="\$speechConfig" "\$speechConfigTemp"
chmod --reference="\$speechConfig" "\$speechConfigTemp"
mv -f "\$speechConfigTemp" "\$speechConfig"
fi
# Create system-wide accessibility configuration