tazusb 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 | 6e56d045fc97 |
children | 06b723b34035 |
files | tazusb-box |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/tazusb-box Fri Mar 02 19:12:53 2012 +0100 1.3 @@ -0,0 +1,103 @@ 1.4 +#!/bin/sh 1.5 +# 1.6 +# Tiny GTK interface to SliTaz Live USB tool aka TazUSB. 1.7 +# 1.8 +# Copyright (C) 2012 SliTaz GNU/Linux - GNU gpl v2 1.9 +# 1.10 +# Authors : Christophe Lincoln <pankso@slitaz.org> 1.11 +# 1.12 + 1.13 +# TazUSBbox is only for root. 1.14 +if test $(id -u) != 0 ; then 1.15 + exec tazbox su tazusbbox 1.16 + exit 0 1.17 +fi 1.18 + 1.19 +# I18n 1.20 +. /usr/bin/gettext.sh 1.21 +TEXTDOMAIN='tazusb-box' 1.22 +export TEXTDOMAIN 1.23 + 1.24 +info="$(gettext "<b>Generate SliTaz LiveUSB media and boot in RAM!</b> \ 1.25 +Insert a LiveCD into the cdrom drive or use a local ISO image, select \ 1.26 +the correct device and press OK.") 1.27 +" 1.28 + 1.29 +# 1.30 +# Functions 1.31 +# 1.32 + 1.33 +gen_live() 1.34 +{ 1.35 + [ -z "$DEVICE" ] && exit 0 1.36 + if [ -n "$ISO_IMAGE" ]; then 1.37 + xterm -T "Tazusb gen-iso2usb" \ 1.38 + -geometry 80x16 \ 1.39 + -e "tazusb gen-iso2usb $ISO_IMAGE $DEVICE; exit 0" 1.40 + else 1.41 + xterm -T "Tazusb gen-liveusb" \ 1.42 + -geometry 80x16 \ 1.43 + -e "tazusb gen-liveusb $DEVICE; exit 0" 1.44 + fi 1.45 +} 1.46 + 1.47 +list_devices() { 1.48 + if [ -d /proc/scsi/usb-storage ]; then 1.49 + dev="$(blkid | cut -d ":" -f 1)" 1.50 + echo $dev | sed s'/ /!/'g 1.51 + else 1.52 + gettext "No USB media found" 1.53 + fi 1.54 +} 1.55 + 1.56 +# Main GUI box function with pure Yad spec 1.57 +tazusb_main() { 1.58 + yad --form --text="$info" --title="TazUSB Box" \ 1.59 + --height=200 --width=500 --borders=4 \ 1.60 + --image=usb-creator --image-on-top \ 1.61 + --window-icon=usb-creator \ 1.62 + --field="$(gettext "ISO Image:")":FL \ 1.63 + --field="$(gettext "USB Media:")":CB \ 1.64 + " " "$(list_devices)" 1.65 +} 1.66 + 1.67 +# Handler 1.68 +tazusb() { 1.69 + # Store box results 1.70 + main=$(tazusb_main) 1.71 + ret=$? 1.72 + # Deal with --button values 1.73 + case $ret in 1.74 + 1) exit 0 ;; 1.75 + *) continue ;; 1.76 + esac 1.77 + # Deal with $main values. Exit if any device. 1.78 + dev=$(echo $main | cut -d "|" -f 2) 1.79 + if ! echo $dev | grep -q /dev; then 1.80 + exit 0 1.81 + fi 1.82 + if echo "$main" | grep -q ".iso|"; then 1.83 + iso=$(echo $main | cut -d "|" -f 1) 1.84 + terminal -T "Tazusb gen-iso2usb" \ 1.85 + -geometry 80x16 \ 1.86 + -e "tazusb gen-iso2usb $iso $dev; sleep 4; exit 0" 1.87 + else 1.88 + terminal -T "Tazusb gen-liveusb" \ 1.89 + -geometry 80x16 \ 1.90 + -e "tazusb gen-liveusb $dev; sleep 4; exit 0" 1.91 + fi 1.92 +} 1.93 + 1.94 +# 1.95 +# Script commands 1.96 +# 1.97 + 1.98 +case "$1" in 1.99 + usage) 1.100 + echo "Usage: $(basename $0) [command]" ;; 1.101 + *) 1.102 + tazusb ;; 1.103 +esac 1.104 + 1.105 +exit 0 1.106 +