tazusb annotate tazusb-box @ rev 125
tazusb-box: output comma
nds in a GTK box
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 |