# HG changeset patch # User Christophe Lincoln # Date 1307031266 -7200 # Node ID 4365931d7dd29c04aaf1f546055916b7ef77f337 # Parent 2c9bd787c7f6bd1a3b2c1198e21ff54711897928 tazbox: Add setup box from Claudinei (all in one box for kmap, locale and TZ) diff -r 2c9bd787c7f6 -r 4365931d7dd2 Makefile --- a/Makefile Wed Jun 01 21:11:11 2011 +0200 +++ b/Makefile Thu Jun 02 18:14:26 2011 +0200 @@ -76,7 +76,7 @@ touch $(DESTDIR)/$$file; \ done; # /usr/bin tools. - for app in startx history tazdialog editor browser terminal file-manager; \ + for app in tazx startx history tazdialog editor browser terminal file-manager; \ do \ install -m 0755 tinyutils/$$app $(DESTDIR)$(PREFIX)/bin; \ done; @@ -112,7 +112,8 @@ for l in $(LINGUAS); \ do \ install -m 0777 -d $(DESTDIR)$(PREFIX)/share/locale/$$l/LC_MESSAGES; \ - install po/mo/$$l/* $(DESTDIR)$(PREFIX)/share/locale/$$l/LC_MESSAGES; \ + install -m 0644 po/mo/$$l/* \ + $(DESTDIR)$(PREFIX)/share/locale/$$l/LC_MESSAGES; \ done; # Default English messages (will move to po) install -m 0777 -d $(DESTDIR)$(PREFIX)/share/slitaz/messages/en diff -r 2c9bd787c7f6 -r 4365931d7dd2 tazbox/tazbox --- a/tazbox/tazbox Wed Jun 01 21:11:11 2011 +0200 +++ b/tazbox/tazbox Thu Jun 02 18:14:26 2011 +0200 @@ -38,6 +38,7 @@ locale $(gettext "Configure system language (root)") keymap $(gettext "Configure system keymap (root)") tz $(gettext "Configure system timezone (root)") + setup $(gettext "System initial setup (locale, keymap & timezone)") EOT } @@ -88,6 +89,49 @@ "`gettext \"Shutdown system\"` : halt" } +# Generate keymap list +gen_kmap_list() { + tmp=/tmp/keymap.list + echo > $tmp + cd /usr/share/kbd/keymaps/i386 + # We first need a list to sort and then use \n for Yad list. + for i in $(find *rty *rtz dvorak -name *.map.gz) + do + keymap=$(basename $i) + type=$(dirname $i) + echo -e "$keymap|$type" >> $tmp + done +} + +# Initial Config functions +setup_main() { + gen_kmap_list + db="/usr/share/i18n/locales" + tmp="/tmp/keymap.list" + zi="/usr/share/zoneinfo/" + title=$(gettext "SliTaz Initial Setup") + message=$(gettext "\nHere you can set your preferences\nfor locale, keymap and timezone\n\n") + locale=$(ls -1 $db | grep ^[a-z][a-z]_[A-Z][A-Z] | tr "\n" "!") + keymap=$(cat $tmp | cut -d. -f1 | sort | tr "\n" "!") + timezone=$(find $zi -type f | sed s,$zi,,g | tr "\n" "!") + yad --width=500 --height=380 \ + --image=$icon --title="$title" --form --text="$message" \ + --field "Locale:CB" \ + --field "Keymap:CB" \ + --field "Timezone:CB" \ + $locale \ $keymap \ $timezone +} + +setup() { + choices=$(setup_main) + locale=$(echo $choices | cut -d"|" -f1) + keymap=$(echo $choices | cut -d"|" -f2) + timezone=$(echo $choices | cut -d"|" -f3) + [ $locale ] && tazlocale init $locale + [ $keymap ] && tazkeymap init $keymap + [ $timezone ] && echo $timezone > /etc/TZ +} + # Locale functions locale_main() { text=$(gettext "Language configuration") @@ -118,17 +162,9 @@ # Keymap functions keymap_main() { + gen_kmap_list text=$(gettext "Keyboard configuration") tmp=/tmp/keymap.list - echo > $tmp - cd /usr/share/kbd/keymaps/i386 - # We first need a list to sort and then use \n for Yad list. - for i in $(find *rty *rtz dvorak -name *.map.gz) - do - keymap=$(basename $i) - type=$(dirname $i) - echo -e "$keymap|$type" >> $tmp - done for i in $(sort $tmp) do keymap=$(echo $i | cut -d "|" -f 1) @@ -239,8 +275,10 @@ locale ;; keymap) keymap ;; - tz) - tz ;; + tz) + tz ;; + setup) + setup ;; boot) # This command is used at first boot to configure system. Xorg -br -quiet -nolisten tcp :1 &