2009-07-18 13:48:28 +02:00
|
|
|
|
#!/bin/sh
|
|
|
|
|
|
2009-07-18 21:57:12 +02:00
|
|
|
|
# This file is part of the german Neo keyboard layout
|
|
|
|
|
#
|
|
|
|
|
# GUI to combine several Compose modules written by Neo keyboard layout
|
|
|
|
|
# This file has been originally written by Pascal Hauck (neo@pascalhauck.de)
|
2009-07-18 13:48:28 +02:00
|
|
|
|
|
|
|
|
|
|
2009-07-18 21:57:12 +02:00
|
|
|
|
SRC=./src # Source directory
|
|
|
|
|
CONFFILE=.config
|
|
|
|
|
typeset -i anzahl
|
2009-07-18 13:48:28 +02:00
|
|
|
|
|
|
|
|
|
|
2009-07-18 21:57:12 +02:00
|
|
|
|
auswahl=XCompose_base
|
2009-07-18 13:48:28 +02:00
|
|
|
|
|
2009-07-18 21:57:12 +02:00
|
|
|
|
for i in src/*.module
|
|
|
|
|
do
|
|
|
|
|
name=$(basename $i .module) # name of modul
|
|
|
|
|
if [ ! "$name" = "base" ]
|
|
|
|
|
then
|
|
|
|
|
anzahl=anzahl+1
|
|
|
|
|
m[$anzahl]=$name
|
|
|
|
|
b[$anzahl]=$(sed -n "
|
|
|
|
|
/^#configinfo[ \t]*/{
|
|
|
|
|
s///
|
|
|
|
|
s/^\(.\{10\}\) */\1/
|
|
|
|
|
p;q
|
|
|
|
|
}
|
2009-07-18 13:48:28 +02:00
|
|
|
|
|
2009-07-18 21:57:12 +02:00
|
|
|
|
\${
|
|
|
|
|
s/.*/ohne Beschreibung/
|
|
|
|
|
s/^\(.\{10\}\) */\1/
|
|
|
|
|
p
|
|
|
|
|
}" $SRC/$name.module) # description of module
|
|
|
|
|
if grep -q $name $CONFFILE
|
|
|
|
|
then
|
|
|
|
|
a[$anzahl]=on # default value for this module
|
|
|
|
|
else
|
|
|
|
|
a[$anzahl]=off
|
|
|
|
|
fi
|
|
|
|
|
fi
|
|
|
|
|
klist=$klist\ ${m[$anzahl]}\ ${b[$anzahl]}\ ${a[$anzahl]}
|
|
|
|
|
glist=$glist\ ${m[$anzahl]}\ ${b[$anzahl]}
|
|
|
|
|
done
|
2009-07-18 13:48:28 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
while [ ! "$module" ]
|
|
|
|
|
do
|
|
|
|
|
case ${1-" "} in
|
|
|
|
|
" ")
|
|
|
|
|
module=ausgewählt
|
|
|
|
|
;;
|
|
|
|
|
*)
|
2009-07-18 21:57:12 +02:00
|
|
|
|
echo Aufruf: compose.sh
|
2009-07-18 13:48:28 +02:00
|
|
|
|
echo Mit »compose.sh« können die Compose-Module von Neo zusammengesetzt werden.
|
|
|
|
|
echo Folgende Module sind verfügbar:
|
2009-07-18 21:57:12 +02:00
|
|
|
|
for i in $(seq 1 $anzahl)
|
2009-07-18 13:48:28 +02:00
|
|
|
|
do
|
|
|
|
|
echo -e " ${m[$i]}\t\t${b[$i]}"
|
|
|
|
|
done
|
|
|
|
|
exit;;
|
|
|
|
|
esac
|
|
|
|
|
done
|
|
|
|
|
|
2009-07-19 02:08:11 +02:00
|
|
|
|
text1="Die Neo-Tastaturbelegung hat etliche Erweiterungen für Compose (Mod3+Tab) erstellt,"
|
|
|
|
|
text2="wodurch Zeichen wie ∮ έ ʒ ermöglicht werden."
|
|
|
|
|
text3="Wählen Sie die Compose-Module von Neo aus, die Sie verwenden möchten."
|
|
|
|
|
text4="Für mehrere Module STRG bzw. CTRL gedrückt halten."
|
2009-07-18 13:48:28 +02:00
|
|
|
|
if [ $KDE_FULL_SESSION = true ]
|
|
|
|
|
then
|
2009-07-19 02:08:11 +02:00
|
|
|
|
menu=`kdialog --title Compose-Module --checklist "$text1<br>$text2<br><br>$text3" $klist`
|
2009-07-18 13:48:28 +02:00
|
|
|
|
else
|
2009-07-19 02:08:11 +02:00
|
|
|
|
menu=`zenity --title Compose-Module --width=480 --height=250 --list --multiple --column Modulname --column Modulebeschreibung --separator=_ --text "$text\n$text2\n\n$text3\n$test4" $glist`
|
2009-07-18 13:48:28 +02:00
|
|
|
|
fi
|
|
|
|
|
menu=$(echo $menu | sed -e 's/\"//g' | sed -e 's/\ /_/g')
|
|
|
|
|
|
|
|
|
|
if [ $menu ]
|
|
|
|
|
then
|
2009-07-19 02:08:11 +02:00
|
|
|
|
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 = XCompose_$auswahl_$menu" > .config && make install && make clean &&
|
2009-07-19 02:09:14 +02:00
|
|
|
|
$(if [ $KDE_FULL_SESSION = true ]
|
2009-07-19 02:08:11 +02:00
|
|
|
|
then
|
|
|
|
|
kdialog --title Compose-Module --msgbox "$fertig"
|
|
|
|
|
else
|
|
|
|
|
zenity --title Compose-Module --width=480 --height=250 --info --text "$fertig"
|
|
|
|
|
fi)
|
2009-07-18 13:48:28 +02:00
|
|
|
|
fi
|