tazusb annotate tazusb-box @ rev 110

Add new tazusb-box using Yad
author Christophe Lincoln <pankso@slitaz.org>
date Fri Mar 02 19:12:53 2012 +0100 (2012-03-02)
parents
children a5f5b6aad358
rev   line source
pankso@110 1 #!/bin/sh
pankso@110 2 #
pankso@110 3 # Tiny GTK interface to SliTaz Live USB tool aka TazUSB.
pankso@110 4 #
pankso@110 5 # Copyright (C) 2012 SliTaz GNU/Linux - GNU gpl v2
pankso@110 6 #
pankso@110 7 # Authors : Christophe Lincoln <pankso@slitaz.org>
pankso@110 8 #
pankso@110 9
pankso@110 10 # TazUSBbox is only for root.
pankso@110 11 if test $(id -u) != 0 ; then
pankso@110 12 exec tazbox su tazusbbox
pankso@110 13 exit 0
pankso@110 14 fi
pankso@110 15
pankso@110 16 # I18n
pankso@110 17 . /usr/bin/gettext.sh
pankso@110 18 TEXTDOMAIN='tazusb-box'
pankso@110 19 export TEXTDOMAIN
pankso@110 20
pankso@110 21 info="$(gettext "<b>Generate SliTaz LiveUSB media and boot in RAM!</b> \
pankso@110 22 Insert a LiveCD into the cdrom drive or use a local ISO image, select \
pankso@110 23 the correct device and press OK.")
pankso@110 24 "
pankso@110 25
pankso@110 26 #
pankso@110 27 # Functions
pankso@110 28 #
pankso@110 29
pankso@110 30 gen_live()
pankso@110 31 {
pankso@110 32 [ -z "$DEVICE" ] && exit 0
pankso@110 33 if [ -n "$ISO_IMAGE" ]; then
pankso@110 34 xterm -T "Tazusb gen-iso2usb" \
pankso@110 35 -geometry 80x16 \
pankso@110 36 -e "tazusb gen-iso2usb $ISO_IMAGE $DEVICE; exit 0"
pankso@110 37 else
pankso@110 38 xterm -T "Tazusb gen-liveusb" \
pankso@110 39 -geometry 80x16 \
pankso@110 40 -e "tazusb gen-liveusb $DEVICE; exit 0"
pankso@110 41 fi
pankso@110 42 }
pankso@110 43
pankso@110 44 list_devices() {
pankso@110 45 if [ -d /proc/scsi/usb-storage ]; then
pankso@110 46 dev="$(blkid | cut -d ":" -f 1)"
pankso@110 47 echo $dev | sed s'/ /!/'g
pankso@110 48 else
pankso@110 49 gettext "No USB media found"
pankso@110 50 fi
pankso@110 51 }
pankso@110 52
pankso@110 53 # Main GUI box function with pure Yad spec
pankso@110 54 tazusb_main() {
pankso@110 55 yad --form --text="$info" --title="TazUSB Box" \
pankso@110 56 --height=200 --width=500 --borders=4 \
pankso@110 57 --image=usb-creator --image-on-top \
pankso@110 58 --window-icon=usb-creator \
pankso@110 59 --field="$(gettext "ISO Image:")":FL \
pankso@110 60 --field="$(gettext "USB Media:")":CB \
pankso@110 61 " " "$(list_devices)"
pankso@110 62 }
pankso@110 63
pankso@110 64 # Handler
pankso@110 65 tazusb() {
pankso@110 66 # Store box results
pankso@110 67 main=$(tazusb_main)
pankso@110 68 ret=$?
pankso@110 69 # Deal with --button values
pankso@110 70 case $ret in
pankso@110 71 1) exit 0 ;;
pankso@110 72 *) continue ;;
pankso@110 73 esac
pankso@110 74 # Deal with $main values. Exit if any device.
pankso@110 75 dev=$(echo $main | cut -d "|" -f 2)
pankso@110 76 if ! echo $dev | grep -q /dev; then
pankso@110 77 exit 0
pankso@110 78 fi
pankso@110 79 if echo "$main" | grep -q ".iso|"; then
pankso@110 80 iso=$(echo $main | cut -d "|" -f 1)
pankso@110 81 terminal -T "Tazusb gen-iso2usb" \
pankso@110 82 -geometry 80x16 \
pankso@110 83 -e "tazusb gen-iso2usb $iso $dev; sleep 4; exit 0"
pankso@110 84 else
pankso@110 85 terminal -T "Tazusb gen-liveusb" \
pankso@110 86 -geometry 80x16 \
pankso@110 87 -e "tazusb gen-liveusb $dev; sleep 4; exit 0"
pankso@110 88 fi
pankso@110 89 }
pankso@110 90
pankso@110 91 #
pankso@110 92 # Script commands
pankso@110 93 #
pankso@110 94
pankso@110 95 case "$1" in
pankso@110 96 usage)
pankso@110 97 echo "Usage: $(basename $0) [command]" ;;
pankso@110 98 *)
pankso@110 99 tazusb ;;
pankso@110 100 esac
pankso@110 101
pankso@110 102 exit 0
pankso@110 103