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 |