ssfs annotate ssfs-box @ rev 72
Edit README
author | Paul Issott <paul@slitaz.org> |
---|---|
date | Mon Jun 13 19:52:42 2011 +0100 (2011-06-13) |
parents | 51160b20e291 |
children | 3a2f682ce267 |
rev | line source |
---|---|
pankso@7 | 1 #!/bin/sh |
pankso@7 | 2 # |
pankso@7 | 3 # SliTaz Secure File Storage GTK user interface using Yad. |
pankso@7 | 4 # |
pankso@7 | 5 # Copyright (C) SliTaz GNU/Linux - BSD License |
pankso@7 | 6 # Author: Christophe Lincoln <pankso@slitaz.org> |
pankso@7 | 7 # |
pankso@7 | 8 |
pankso@7 | 9 app=$(basename $0) |
pankso@7 | 10 config=$HOME/.config/ssfs/client.lua |
pankso@51 | 11 pixmap=/usr/share/pixmaps/ssfs.png |
pankso@7 | 12 |
pankso@7 | 13 # |
pankso@7 | 14 # Functions |
pankso@7 | 15 # |
pankso@7 | 16 |
pankso@7 | 17 info() { |
pankso@7 | 18 size=$(du -sh $HOME/Sync | awk '{print $1}') |
pankso@51 | 19 files=$(find $HOME/Sync | wc -l) |
pankso@7 | 20 host=$(fgrep 'host' $config | cut -d '"' -f 2) |
pankso@7 | 21 login=${host%@*} |
pankso@7 | 22 host=${host#*@} |
pankso@7 | 23 echo -e "Login\n$login |
pankso@7 | 24 Host\n$host |
pankso@7 | 25 Size\n$size |
pankso@51 | 26 Files\n$files |
pankso@7 | 27 RSA Key\n~/.ssh/id_rsa" |
pankso@7 | 28 } |
pankso@7 | 29 |
pankso@7 | 30 # Default tools GUI box function. |
pankso@7 | 31 tools_main() { |
pankso@7 | 32 if [ ! -s "$config" ]; then |
pankso@10 | 33 $0 setup && exit 0 |
pankso@7 | 34 fi |
pankso@51 | 35 [ "$opts" ] || opts="--width=460 --height=320" |
pankso@68 | 36 text=$(gettext "<b>Welcome to the Ssfs Client user interface</b>") |
pankso@51 | 37 info | yad $opts \ |
pankso@51 | 38 --list --title="Ssfs Box" \ |
pankso@51 | 39 --image-on-top --window-icon=$pixmap \ |
pankso@51 | 40 --text="$text" --image=$pixmap \ |
pankso@7 | 41 --column "Ssfs" --column "$(gettext "Value")" \ |
pankso@51 | 42 --button="$(gettext "Setup client"):4" \ |
pankso@7 | 43 --button="$(gettext "Edit config"):3" \ |
pankso@7 | 44 --button="$(gettext "Browse files"):2" \ |
pankso@7 | 45 --button="gtk-close:1" |
pankso@7 | 46 } |
pankso@7 | 47 |
pankso@7 | 48 # Default tools functions. |
pankso@7 | 49 tools() { |
pankso@7 | 50 # Store box results |
pankso@7 | 51 main=$(tools_main) |
pankso@7 | 52 # Deal with --button values |
pankso@7 | 53 case $? in |
pankso@7 | 54 1) exit 0 ;; |
pankso@7 | 55 2) file-manager $HOME/Sync ;; |
pankso@7 | 56 3) editor $config ;; |
pankso@51 | 57 4) $0 setup ;; |
pankso@7 | 58 *) continue ;; |
pankso@7 | 59 esac |
pankso@7 | 60 case $main in |
pankso@7 | 61 RSA*) |
pankso@7 | 62 yad --text-info --title="RSA Key" \ |
pankso@51 | 63 --width=560 --height=420 \ |
pankso@7 | 64 --filename=$HOME/.ssh/id_rsa ;; |
pankso@7 | 65 *) |
pankso@51 | 66 continue ;; |
pankso@7 | 67 esac |
pankso@7 | 68 } |
pankso@7 | 69 |
pankso@7 | 70 # Setup GUI box function. |
pankso@7 | 71 setup_main() { |
pankso@7 | 72 text=$(gettext \ |
paul@12 | 73 "<b>Welcome to the Ssfs Setup</b>\n |
pankso@7 | 74 Any account on a server yet ? You can vist www.slitaz.org |
pankso@7 | 75 services or setup your own server in a few minutes!\n") |
pankso@7 | 76 yad --form --title="Ssfs GTK Setup" \ |
pankso@51 | 77 --window-icon=$pixmap \ |
pankso@7 | 78 --width=460 --height=200 --image-on-top \ |
pankso@51 | 79 --text="$text" --image=$pixmap \ |
pankso@7 | 80 --field="Login" --field="Server" |
pankso@7 | 81 } |
pankso@7 | 82 |
pankso@7 | 83 # Default tools functions. |
pankso@7 | 84 setup() { |
pankso@7 | 85 # Store box results and setup. |
pankso@7 | 86 main=$(setup_main) |
pankso@7 | 87 [ $? == 1 ] && exit 0 |
pankso@7 | 88 login=$(echo $main | cut -d '|' -f 1) |
pankso@7 | 89 host=$(echo $main | cut -d '|' -f 2) |
pankso@7 | 90 [ "$host" ] || exit 0 |
pankso@49 | 91 rm -f $config |
pankso@55 | 92 terminal -hold -geometry 76x16 -T "Ssfs" \ |
pankso@7 | 93 -e "ssfs setup --login=$login --host=$host" |
pankso@7 | 94 } |
pankso@7 | 95 |
pankso@51 | 96 # Notification mode. |
pankso@51 | 97 notify() { |
pankso@51 | 98 export opts="--geometry=460x320-40+40 --timeout=6 --skip-taskbar" |
pankso@51 | 99 yad --notification --image=$pixmap --command=$0 \ |
pankso@51 | 100 --text="$(gettext "Ssfs Live Sync storage")" |
pankso@51 | 101 } |
pankso@51 | 102 |
pankso@7 | 103 # |
pankso@7 | 104 # Commands |
pankso@7 | 105 # |
pankso@7 | 106 |
pankso@7 | 107 case "$1" in |
pankso@7 | 108 help) |
pankso@7 | 109 echo "Usage: $app [command]" ;; |
pankso@7 | 110 setup) |
pankso@7 | 111 setup ;; |
pankso@51 | 112 notify) |
pankso@51 | 113 notify ;; |
pankso@51 | 114 *) |
pankso@7 | 115 tools ;; |
pankso@7 | 116 esac |
pankso@7 | 117 exit 0 |