Nun auch dialog neben kdialog und zenity

This commit is contained in:
pascal 2009-08-01 12:19:34 +00:00
parent c568427fad
commit e85110820f
1 changed files with 27 additions and 17 deletions

View File

@ -24,7 +24,7 @@ then
YESNO() { YESNO() {
kdialog --title Compose-Module --yesno "$1" kdialog --title Compose-Module --yesno "$1"
} }
else elif [ -n "`which zenity 2>/dev/null`" ]; then
ADD_TO_LIST() { ADD_TO_LIST() {
list=("${list[@]}" "$1" "$2") list=("${list[@]}" "$1" "$2")
} }
@ -37,11 +37,28 @@ else
YESNO() { YESNO() {
zenity --title Compose-Module --question --text "$1" zenity --title Compose-Module --question --text "$1"
} }
elif [ -n "`which dialog 2>/dev/null`" ]; then
ADD_TO_LIST() {
list=("${list[@]}" "$1" "$2" "$3")
}
CHECKLIST() {
dialog --title Compose-Module --checklist "Die Neo-Tastaturbelegung hat etliche Erweiterungen für Compose (Mod3+Tab) erstellt, wodurch Zeichen wie ≙ έ ʒ ermöglicht werden.\nWählen Sie die Compose-Module von Neo aus, die Sie verwenden möchten." 20 70 10 "${list[@]}" 3>&1 1>&2 2>&3 3>&-
}
MSGBOX() {
dialog --title Compose-Module --msgbox "$1" 8 60
}
YESNO() {
dialog --title Compose-Module --yesno "$1" 14 70
}
else
echo "Es wurde weder kdialog noch zenity noch dialog gefunden."
echo "Dieses Programm kann darum nicht benutzt werden. Verwenden Sie stattdessen make config."
exit 1
fi fi
while [ ! "$nohelp" ] while [ ! "$nohelp" ]; do
do
case ${1-" "} in case ${1-" "} in
" ") " ")
nohelp=ok nohelp=ok
@ -50,11 +67,9 @@ do
echo Aufruf: compose.sh echo Aufruf: compose.sh
echo Mit »compose.sh« können die Compose-Module von Neo zusammengesetzt werden. echo Mit »compose.sh« können die Compose-Module von Neo zusammengesetzt werden.
echo Folgende Module sind verfügbar: echo Folgende Module sind verfügbar:
for j in `ls $SRC/*.module` for j in `ls $SRC/*.module`; do
do
i=$(basename $j .module) i=$(basename $j .module)
if [ ! "$i" = "base" ] && [ ! "$i" = "enUS" ] if [ ! "$i" = "base" ] && [ ! "$i" = "enUS" ]; then
then
sed -n " sed -n "
/^#configinfo[ \t]*/{ /^#configinfo[ \t]*/{
s/// s///
@ -83,11 +98,9 @@ done
auswahl=XCompose_enUS_base auswahl=XCompose_enUS_base
for i in src/*.module for i in src/*.module; do
do
name=$(basename $i .module) # name of modul name=$(basename $i .module) # name of modul
if [ ! "$name" = "base" -a ! "$name" = "enUS" ] if [ ! "$name" = "base" -a ! "$name" = "enUS" ]; then
then
description=$(sed -n " description=$(sed -n "
/^#configinfo[ \t]*/{ /^#configinfo[ \t]*/{
s/// s///
@ -101,8 +114,7 @@ s/.*/(ohne Beschreibung)/
p p
q q
" $SRC/$name.module) # description of module " $SRC/$name.module) # description of module
if grep -qs $name $CONFFILE if grep -qs $name $CONFFILE; then
then
default=on # default value for this module default=on # default value for this module
else else
default=off default=off
@ -115,15 +127,13 @@ done
if [ -f $HOME/.XCompose ] if [ -f $HOME/.XCompose ]; then
then
YESNO "Es gibt bereits eine Compose-Datei (z.B. durch eine ältere Neo-Installation).\nSollten Sie eigene Definitionen in der Datei ~/.XCompose vorgenommen haben, dann brechen Sie jetzt ab und schreiben Ihre eigenen Definitionen in eine Datei (z.B. user.module) im Ordner src.\n\nAnderenfalls können Sie das Skript bedenkenlos fortsetzen.\nWollen Sie fortfahren?" || exit YESNO "Es gibt bereits eine Compose-Datei (z.B. durch eine ältere Neo-Installation).\nSollten Sie eigene Definitionen in der Datei ~/.XCompose vorgenommen haben, dann brechen Sie jetzt ab und schreiben Ihre eigenen Definitionen in eine Datei (z.B. user.module) im Ordner src.\n\nAnderenfalls können Sie das Skript bedenkenlos fortsetzen.\nWollen Sie fortfahren?" || exit
fi fi
menu=`CHECKLIST | sed -e 's/\"//g' | sed -e 's/\ /_/g'` menu=`CHECKLIST | sed -e 's/\"//g' | sed -e 's/\ /_/g'`
if [ $menu ] if [ $menu ]; then
then
fertig="Die neue Compose-Datei wurde erfolgreich erstellt.\nSie wird für alle neu gestarteten Programme sowie nach dem nächsten Login wirksam." fertig="Die neue Compose-Datei wurde erfolgreich erstellt.\nSie wird für alle neu gestarteten Programme sowie nach dem nächsten Login wirksam."
echo "USER_XCOMPOSE = ${auswahl}_${menu}" > .config && make install && MSGBOX "$fertig" echo "USER_XCOMPOSE = ${auswahl}_${menu}" > .config && make install && MSGBOX "$fertig"
fi fi