Neo ist eine ergonomische Tastaturbelegung, welche für die deutsche Sprache optimiert ist. https://neo-layout.org
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

99 lines
1.9 KiB

  1. # Erzeuge Konfiguration in .config
  2. #
  3. # Aufruf erfolgt über Makefile mittels 'make config'
  4. #
  5. # Autor: hcw@gmx.de
  6. #
  7. # Kommandozeilenparameter: Liste der verfügbaren Module
  8. MODULES=$*
  9. # Pfade und Dateinamen
  10. CONFFILE=.config
  11. MODPATH=./src
  12. MODSUFFIX=.module
  13. [ -w $CONFFILE ] || { echo "$CONFFILE fehlt. Nutze 'make config'."; exit 1; }
  14. #
  15. # verfügbare Module auslesen und Kurzbeschreibung anzeigen
  16. #
  17. selprompt=
  18. PS3="Gewählte Module sind mit '+' gekennzeichnet.
  19. Auswahl (angegebene Ziffer oder 0 für Ende) > "
  20. echo
  21. echo Verfügbare Module für XCompose:
  22. for i in ${MODULES}; do
  23. sed -n "
  24. /^#configinfo[ \t]*/{
  25. s///
  26. b print
  27. }
  28. \$! b
  29. s/.*/(ohne Beschreibung)/
  30. : print
  31. x
  32. s/^/$i /
  33. G
  34. s/^\(.\{9\}\).*\n\(.\{1,69\}\).*/\1 \2/ # 80-Zeichen-Terminal-Grenze
  35. p
  36. q
  37. " ${MODPATH}/${i}${MODSUFFIX}
  38. if grep -q $i $CONFFILE; then
  39. selprompt="${selprompt} ${i}+ ";
  40. else
  41. selprompt="${selprompt} ${i} ";
  42. fi
  43. done
  44. echo
  45. #
  46. # Nutzereingabe
  47. #
  48. again=true
  49. while ${again} ; do
  50. again=false
  51. select MOD in ${selprompt}; do
  52. case "X$MOD" in
  53. X)
  54. if [ "X$REPLY" != "X0" ]; then again=true; fi ;;
  55. *)
  56. again=true
  57. selprompt=`echo $selprompt | sed "s/$MOD/$MOD+/;s/++//"` ;;
  58. esac
  59. break
  60. done
  61. done
  62. #
  63. # Configfile erzeugen
  64. #
  65. echo $selprompt | sed '
  66. s/$/ / # letztes Wort mit Leerzeichen abschließen
  67. s/[^ +]\+ / /g # Wörter ohne plus am Ende löschen
  68. s/+//g # alle Pluszeichen löschen
  69. s/^ *// # Leerzeichen am Anfang und Ende löschen
  70. s/ *$// # Leerzeichen am Anfang und Ende löschen
  71. s/ \+/_/g # Leerzeichen normalisieren
  72. s/^/USER_XCOMPOSE = XCompose_/
  73. ' > $CONFFILE
  74. echo
  75. echo Gewählte Module:
  76. cat $CONFFILE
  77. grep -q base $CONFFILE || echo "*** Warnung: Modul 'base' wurde nicht gewählt."
  78. grep -q enUS $CONFFILE || echo "*** Warnung: Modul 'enUS' wurde nicht gewählt."
  79. echo
  80. echo "Weiter mit 'make' bzw. 'make install'"