From 52129daf8f3abb61dff2feba5e8c8e5be86df1df Mon Sep 17 00:00:00 2001 From: pascal Date: Fri, 31 Jul 2009 13:10:21 +0000 Subject: compose_gui.sh verbessert. Keine geschützten Leerzeichen in den Modulen mehr notwendig. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://svn.neo-layout.org@2017 b9310e46-f624-0410-8ea1-cfbb3a30dc96 --- Compose/compose_gui.sh | 102 ++++++++++++++++++++++++++++++------------------- 1 file changed, 63 insertions(+), 39 deletions(-) (limited to 'Compose/compose_gui.sh') diff --git a/Compose/compose_gui.sh b/Compose/compose_gui.sh index bc190e7..127f45e 100755 --- a/Compose/compose_gui.sh +++ b/Compose/compose_gui.sh @@ -8,13 +8,15 @@ SRC=./src # Source directory CONFFILE=.config -typeset -i anzahl if [ "X:$KDE_FULL_SESSION" = "X:true" ] then + ADD_TO_LIST() { + list=("${list[@]}" "$1" "$2" "$3") + } CHECKLIST() { - kdialog --title Compose-Module --checklist "$1
$2

$3" $5 + kdialog --title Compose-Module --checklist "Die Neo-Tastaturbelegung hat etliche Erweiterungen für Compose (Mod3+Tab) erstellt,
wodurch Zeichen wie ≙ έ ʒ ermöglicht werden.
Wählen Sie die Compose-Module von Neo aus, die Sie verwenden möchten." "${list[@]}" } MSGBOX() { kdialog --title Compose-Module --msgbox "$1" @@ -23,8 +25,11 @@ then kdialog --title Compose-Module --yesno "$1" } else + ADD_TO_LIST() { + list=("${list[@]}" "$1" "$2") + } CHECKLIST() { - zenity --title Compose-Module --width=610 --height=320 --list --multiple --column Modulname --column Modulebeschreibung --separator=_ --text "$1\n$2\n\n$3\n$4" $6 + zenity --title Compose-Module --width=610 --height=320 --list --multiple --column Modulname --column Modulebeschreibung --separator=_ --text "Die Neo-Tastaturbelegung hat etliche Erweiterungen für Compose (Mod3+Tab) erstellt,\nwodurch Zeichen wie ≙ έ ʒ ermöglicht werden.\nWählen Sie die Compose-Module von Neo aus, die Sie verwenden möchten.\nFür mehrere Module STRG bzw. CTRL gedrückt halten." "${list[@]}" } MSGBOX() { zenity --title Compose-Module --info --text "$1" @@ -35,10 +40,41 @@ else fi -if [ -f $HOME/.XCompose ] -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 -fi +while [ ! "$nohelp" ] +do + case ${1-" "} in + " ") + nohelp=ok + ;; + *) + echo Aufruf: compose.sh + echo Mit »compose.sh« können die Compose-Module von Neo zusammengesetzt werden. + echo Folgende Module sind verfügbar: + for j in `ls $SRC/*.module`; do + i=$(basename $j .module) + sed -n " +/^#configinfo[ \t]*/{ + s/// + b print +} + +\$! b + +s/.*/(ohne Beschreibung)/ +: print + +x +s/^/$i / +G +s/^\(.\{9\}\).*\n\(.\{1,69\}\).*/\1 \2/ # 80-Zeichen-Terminal-Grenze +p +q +" ${SRC}/${i}.module + done + exit;; + esac +done + auswahl=XCompose_enUS_base @@ -48,51 +84,39 @@ do name=$(basename $i .module) # name of modul if [ ! "$name" = "base" -a ! "$name" = "enUS" ] then - anzahl=anzahl+1 - m[$anzahl]=$name - b[$anzahl]=$(sed -n " + description=$(sed -n " /^#configinfo[ \t]*/{ s/// - s/^\(.\{10\}\) */\1/ - p;q + b print } -\${ - s/.*/ohne Beschreibung/ - s/^\(.\{10\}\) */\1/ - p -}" $SRC/$name.module) # description of module +\$! b + +s/.*/(ohne Beschreibung)/ +: print +p +q +" $SRC/$name.module) # description of module if grep -qs $name $CONFFILE then - a[$anzahl]=on # default value for this module + default=on # default value for this module else - a[$anzahl]=off + default=off fi + ADD_TO_LIST "$name" "$description" "$default" fi - klist=$klist\ ${m[$anzahl]}\ ${b[$anzahl]}\ ${a[$anzahl]} - glist=$glist\ ${m[$anzahl]}\ ${b[$anzahl]} done -while [ ! "$module" ] -do - case ${1-" "} in - " ") - module=ausgewählt - ;; - *) - echo Aufruf: compose.sh - echo Mit »compose.sh« können die Compose-Module von Neo zusammengesetzt werden. - echo Folgende Module sind verfügbar: - for i in $(seq 1 $anzahl) - do - echo -e " ${m[$i]}\t\t${b[$i]}" - done - exit;; - esac -done -menu=`CHECKLIST "Die Neo-Tastaturbelegung hat etliche Erweiterungen für Compose (Mod3+Tab) erstellt," "wodurch Zeichen wie ∮ έ ʒ ermöglicht werden." "Wählen Sie die Compose-Module von Neo aus, die Sie verwenden möchten." "Für mehrere Module STRG bzw. CTRL gedrückt halten." "$klist" "$glist" | sed -e 's/\"//g' | sed -e 's/\ /_/g'` + + +if [ -f $HOME/.XCompose ] +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 +fi + +menu=`CHECKLIST | sed -e 's/\"//g' | sed -e 's/\ /_/g'` if [ $menu ] then -- cgit v1.2.3