Files
say.sh/saygui.sh
2018-08-23 10:16:03 +02:00

167 lines
3.1 KiB
Bash
Executable File

#!/bin/bash
# Base paths
P2WFILE="say"
ROOTPATH="$HOME/bin/say/"
SRCPATH="$ROOTPATH$P2WFILE.sh"
GUIPATH="$ROOTPATH$P2WFILEgui.sh"
CFGPATH="$ROOTPATH$P2WFILE.cfg"
# Main title
TITLE="SayGUI Config"
# Load base functions
. "$SRCPATH"
sayguimenu()
{
while true
do
VALUE=`zenity --list \
--title="$TITLE | Main menu" \
--column="action" --column="Name" \
"say" "Say something!"\
"lng" "Change language" \
"vol" "Change volume" \
"spd" "Change speed"`
case $? in
0)
if [ $VALUE = "say" ]; then
sayguisay
elif [ $VALUE = "lng" ]; then
sayguilng
elif [ $VALUE = "vol" ]; then
sayguivol
elif [ $VALUE = "spd" ]; then
sayguispd
fi;;
1)
sayguinotif "Aucune valeur sélectionnée.";
break;;
-1)
sayguinotif "Une erreur inattendue est survenue.";
break;;
esac
done
}
sayguisay()
{
while true
do
VALUE=`zenity --entry \
--title="$TITLE | Say something!" \
--text="Type anything you wish to be read:" \
--entry-text "$VALUE"`
case $? in
0)
say "$VALUE";;
1)
sayguinotif "Aucune valeur sélectionnée.";
break;;
-1)
sayguinotif "Une erreur inattendue est survenue.";
break;;
esac
done
}
sayguilng()
{
VALUE=`zenity --list \
--title="$TITLE | Language" --radiolist \
--column="" --column="Name" \
"en-US" "English (US)" \
"en-GB" "English (GB)" \
"fr-FR" "French" \
"de-DE" "Deutsch" \
"es-ES" "Spanish" \
"it-IT" "Italian"`
case $? in
0)
saylng "$VALUE"
sayguinotif "Vous avez choisi $VALUE.";;
1)
sayguinotif "Aucune valeur sélectionnée.";;
-1)
sayguidial "Une erreur inattendue est survenue." "error";;
esac
}
sayguivol()
{
VALUE=`zenity --scale --title="$TITLE | Volume" --text="Set new volume level" --value=100 --min-value=0 --max-value=200 --step=1`
case $? in
0)
sayvol "`echo \"$VALUE / 100\" | bc`"
sayguinotif "Vous avez choisi $VALUE%.";;
1)
sayguinotif "Aucune valeur sélectionnée.";;
-1)
sayguidial "Une erreur inattendue est survenue." "error";;
esac
}
sayguispd()
{
VALUE=`zenity --scale --title="$TITLE | Speed" --text="Set new speed level" --value=100 --min-value=50 --max-value=150 --step=1`
case $? in
0)
sayspd "`echo \"$VALUE / 100\" | bc`"
sayguinotif "Vous avez choisi $VALUE%.";;
1)
sayguinotif "Aucune valeur sélectionnée.";;
-1)
sayguidial "Une erreur inattendue est survenue." "error";;
esac
}
sayguinotif()
{
zenity --notification\
--window-icon="info" \
--text="$1"
}
sayguidial()
{
if [ $# -ge 1 ]; then
TYPE=$2
if [ $TYPE = "" ]; then
TYPE="info"
fi
if [ $TYPE = "info" ]; then
zenity --info --text="$1"
fi
if [ $TYPE = "warning" ]; then
zenity --warning --text="$1"
fi
if [ $TYPE = "error" ]; then
zenity --error --text="$1"
fi
if [ $TYPE = "question" ]; then
echo `zenity --question --text="$1"`
fi
fi
}
if [ $# -eq 1 ]; then
if [ $1 = "say" ]; then
sayguisay
elif [ $1 = "lng" ]; then
sayguilng
elif [ $1 = "vol" ]; then
sayguivol
elif [ $1 = "spd" ]; then
sayguispd
else
sayguimenu
fi
else
sayguimenu
fi