tazusb annotate tazusb-box @ rev 125

tazusb-box: output comma
nds in a GTK box
author Christophe Lincoln <pankso@slitaz.org>
date Sun Apr 15 19:07:56 2012 +0200 (2012-04-15)
parents 781d1bb345cb
children 270c1f41a635
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@125 12 exec tazbox su tazusb-box
pankso@110 13 exit 0
pankso@110 14 fi
pankso@110 15
pankso@125 16 title="TazUSB Box"
pankso@125 17 icon="usb-creator"
pankso@125 18 opts="--image=usb-creator --image-on-top --width=520 --center --on-top"
pankso@125 19
pankso@110 20 # I18n
pankso@110 21 . /usr/bin/gettext.sh
pankso@110 22 TEXTDOMAIN='tazusb-box'
pankso@110 23 export TEXTDOMAIN
pankso@110 24
pankso@125 25 # Main text information
pankso@110 26 info="$(gettext "<b>Generate SliTaz LiveUSB media and boot in RAM!</b> \
pankso@110 27 Insert a LiveCD into the cdrom drive or use a local ISO image, select \
pankso@110 28 the correct device and press OK.")
pankso@110 29 "
pankso@110 30
pankso@110 31 #
pankso@110 32 # Functions
pankso@110 33 #
pankso@110 34
pankso@125 35 # Nice GTK output for commands.
pankso@125 36 output() {
pankso@125 37 yad --text-info $opts --text="<b>$title</b>" \
pankso@125 38 --height=260 --title="$title" --window-icon=$icon \
pankso@125 39 --tail --margins=4 --button="Reboot:reboot" --button="gtk-close:0"
pankso@110 40 }
pankso@110 41
pankso@110 42 list_devices() {
pankso@110 43 if [ -d /proc/scsi/usb-storage ]; then
pankso@110 44 dev="$(blkid | cut -d ":" -f 1)"
pankso@110 45 echo $dev | sed s'/ /!/'g
pankso@110 46 else
pankso@110 47 gettext "No USB media found"
pankso@110 48 fi
pankso@110 49 }
pankso@110 50
pankso@110 51 # Main GUI box function with pure Yad spec
pankso@110 52 tazusb_main() {
pankso@125 53 yad --form $opts --text="$info" \
pankso@125 54 --title="$title" --height=200 \
pankso@110 55 --field="$(gettext "ISO Image:")":FL \
pankso@110 56 --field="$(gettext "USB Media:")":CB \
pankso@110 57 " " "$(list_devices)"
pankso@110 58 }
pankso@110 59
pankso@110 60 # Handler
pankso@110 61 tazusb() {
pankso@110 62 # Store box results
pankso@110 63 main=$(tazusb_main)
pankso@110 64 ret=$?
pankso@110 65 # Deal with --button values
pankso@110 66 case $ret in
pankso@110 67 1) exit 0 ;;
pankso@110 68 *) continue ;;
pankso@110 69 esac
pankso@110 70 # Deal with $main values. Exit if any device.
pankso@110 71 dev=$(echo $main | cut -d "|" -f 2)
pankso@110 72 if ! echo $dev | grep -q /dev; then
pankso@110 73 exit 0
pankso@110 74 fi
pankso@110 75 if echo "$main" | grep -q ".iso|"; then
pankso@110 76 iso=$(echo $main | cut -d "|" -f 1)
pankso@125 77 yes "" | /usr/bin/tazusb gen-iso2usb $iso $dev --raw-out | output
pankso@125 78 exit 0
pankso@110 79 else
pankso@125 80 yes "" | /usr/bin/tazusb gen-liveusb $dev --raw-out | output
pankso@110 81 fi
pankso@110 82 }
pankso@110 83
pankso@110 84 #
pankso@110 85 # Script commands
pankso@110 86 #
pankso@110 87
pankso@110 88 case "$1" in
pankso@110 89 usage)
pankso@110 90 echo "Usage: $(basename $0) [command]" ;;
pankso@110 91 *)
pankso@110 92 tazusb ;;
pankso@110 93 esac
pankso@110 94
pankso@110 95 exit 0
pankso@110 96