Files

120 lines
3.6 KiB
Bash
Executable File

#!/usr/bin/env bash
# Stop the screen reader if this closes for any reason
trap 'sudo -n /usr/bin/systemctl stop fenrirscreenreader.service' SIGINT SIGTERM SIGHUP EXIT
# Start Fenrir for interaction with the terminal
sudo -n /usr/bin/systemctl start fenrirscreenreader.service
# Clear the screen before loading
clear
case "$GAME" in
"Alter Aeon")
pushd ~/.local/games/tintin-alteraeon
git pull -q
tt++ aa.tin
popd
;;
"BPG")
pushd ~/.local/games/bpg
git pull -q
./bpg.sh
popd
;;
"Empire MUD")
pushd ~/.local/games/tintin-empiremud
git pull -q
tt++ em.tin
popd
;;
"End of Time")
pushd ~/.local/games/tintin-endoftime
git pull -q
tt++ eot.tin
popd
;;
"Kallisti MUD")
pushd ~/.local/games/tintin-kallisti-pack
git pull -q
tt++ kallisti.tin
popd
;;
"RS Games")
pushd ~/.local/games/tintin-rsgames
git pull -q
tt++ rs.tin
popd
;;
"Slay the Text")
pushd ~/.local/games/slaythetext
git pull -q
python3 main.py
popd
;;
"Stationfall")
frotz ~/.local/frotz/Stationfall/stationfall-r107-s870430.z3
;;
"Planetfall")
frotz ~/.local/frotz/Planetfall/planetfall-r39-s880501.z3
;;
"The Hitchhiker's Guide to the Galaxy")
frotz ~/.local/frotz/"The Hitchhiker's Guide to the Galaxy/HITCHHIK.DAT"
;;
"Zork 1") ;&
"Zork 2") ;&
"Zork 3")
frotz ~/.local/frotz/${GAME/ /}/DATA/ZORK${GAME##* }.DAT
;;
"IRC")
if ! ping -c1 stormux.org &> /dev/null ; then
spd-say -Cw "No internet connection detected. Please go to the system menu and select configure internet."
exit 0
fi
configFile="$HOME/.irssi/config"
validNickRegex='^[[:alnum:]_-]*$'
# Check if nick and user_name are still set to "stormux"
if grep -qE '^\s*nick = "stormux";' "$configFile" && grep -qE '^\s*user_name = "stormux";' "$configFile"; then
echo "First time connection setup:"
echo
echo "Let's get you set up with your own nick."
echo "This is the name other people will see when you join, chat, leave, etc."
echo
while : ; do
echo "Enter your desired IRC nick:"
read -re newNick
if [[ $newNick =~ $validNickRegex ]]; then
# Update nick and user_name in config
sed -i "s/^\(\s*nick = \)\"stormux\";/\1\"$newNick\";/" "$configFile"
sed -i "s/^\(\s*user_name = \)\"stormux\";/\1\"$newNick\";/" "$configFile"
echo "Configuration updated. Launching irssi..."
break
else
echo "Invalid IRC nickname. Must start with a letter and contain only letters, numbers, and these symbols: - [ ] \\ \` ^ { } _"
fi
done
fi
# Launch irssi
/usr/bin/irssi
;;
"Network Configuration")
count=0
while [[ $count -lt 10 ]]; do
sleep 1
if echo "setting set focus#highlight=True" | socat - UNIX-CLIENT:/tmp/fenrirscreenreader-deamon.sock 2> /dev/null ; then
break
fi
done
nmtui-connect
;;
"Install to Disk")
/home/stormux/.local/bin/install_to_disk.sh
;;
"Set Timezone")
sudo /home/stormux/.local/bin/set-timezone.sh
;;
*".md") /usr/bin/markdown -toc "$GAME" | /usr/bin/w3m -T text/html ;;
"/usr/bin/"*) $GAME ;;
esac