Experimental: add speech selector to startup.
This commit is contained in:
1 parent
7ee829d56c
commit
a8d4fc1fc1
10 files changed
+898
-10
No files matched your search
@@ -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
|
||||
|
||||
Reference in new issue
Block a user