tbetter dialogs, also for tomb-open - tomb - the crypto undertaker
 (HTM) git clone git://parazyd.org/tomb.git
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit e9e584a9c2b9038780a62ed0dc7ca5cbc6d409db
 (DIR) parent 2c26903206b11fdfd2ca3247930e6e0dca24166a
 (HTM) Author: Jaromil <jaromil@dyne.org>
       Date:   Thu, 26 May 2011 13:00:30 +0200
       
       better dialogs, also for tomb-open
       
       Diffstat:
         M src/tomb                            |       6 +++---
         M src/tomb-open                       |      87 +++++++++++++++++--------------
       
       2 files changed, 51 insertions(+), 42 deletions(-)
       ---
 (DIR) diff --git a/src/tomb b/src/tomb
       t@@ -117,7 +117,7 @@ ask_password() {
                GTK2_RC=/usr/share/themes/tomb/gtk-2.0-key/gtkrc
            fi
        
       -    cat <<EOF | GTK2_RC_FILES=${GTK2_RC} pinentry | awk '/^D/ { print $2 }'
       +    cat <<EOF | GTK2_RC_FILES=${GTK2_RC} pinentry 2>/dev/null | awk '/^D/ { print $2 }'
        OPTION ttyname=$TTY
        OPTION lc-ctype=$LANG
        SETTITLE Insert tomb password
       t@@ -149,7 +149,7 @@ check_priv() {
                sudok=false
                sudo -n ${TOMBEXEC} 2> /dev/null
                if [ $? != 0 ]; then # if not then ask a password
       -            cat <<EOF | pinentry | awk '/^D/ { print $2 }' | sudo -S -v
       +            cat <<EOF | pinentry 2>/dev/null | awk '/^D/ { print $2 }' | sudo -S -v
        OPTION ttyname=$TTY
        OPTION lc-ctype=$LANG
        SETTITLE Super user privileges required
       t@@ -1046,7 +1046,7 @@ main () {
                        act "version $VERSION ($DATE) by Jaromil @ dyne.org"
                        # print out the GPL license in this file
                        act ""
       -                cat $0 | awk 'BEGIN { license=0 } /^# This source/  { license=1 } { if(license==1) print " " $0 }
       +                cat ${TOMBEXEC} | awk 'BEGIN { license=0 } /^# This source/  { license=1 } { if(license==1) print " " $0 }
        /MA 02139, USA.$/ { license=0 }'
                        act ""
                        exit 0 ;;
 (DIR) diff --git a/src/tomb-open b/src/tomb-open
       t@@ -28,6 +28,9 @@ if [ "$0" = "./tomb-open" ]; then
                TOMBEXEC="$PWD/tomb"
        fi
        
       +# includes all shell functions in tomb
       +source $TOMBEXEC source
       +
        try() {
            which ${1} > /dev/null
            if [ $? = 0 ]; then 
       t@@ -73,8 +76,8 @@ Let's start setting your Crypt?"
        # so that they are configurable when calling tomb.
        ask_usbkey() {
            unset usbkey_mount
       -    echo "Waiting 1 minute for a usb key to connect"
       -    echo -n " .  please insert your usb key "
       +    notice "Waiting 1 minute for a usb key to connect"
       +    act -n "please insert your usb key "
            
            tomb-notify "Insert your USB KEY" \
                "Tomb is waiting 30 seconds for you to insert an external key."
       t@@ -89,13 +92,13 @@ ask_usbkey() {
                c=`expr $c + 1`
                if [ $c -gt 60 ]; then
                    echo
       -            echo "[!] timeout."
       +            error "timeout."
                    return 1;
                fi
            done
        
            echo
       -    echo -n " .  usb key inserted, attaching "
       +    act -n "usb key inserted, attaching "
            
            c=0
            attached=false
       t@@ -107,14 +110,14 @@ ask_usbkey() {
                c=`expr $c + 1`
                if [ $c -gt 30 ]; then
                    echo
       -            echo "[!] timeout."
       +            error "[!] timeout."
                    export usbkey_mount=none
                    return 1;
                fi
            done
        
            echo
       -    echo -n " .  usb attached, opening "
       +    act -n "usb attached, opening "
            
            # get the first partition
        #    usbpart=`dmesg |tail -n 12 | grep '  sd.:' |cut -d: -f2 |tr -d ' '`
       t@@ -123,7 +126,7 @@ ask_usbkey() {
                if [ -n "$usbpart" ]; then
                   break
                elif [ $i -eq 10 ]; then
       -            echo "[!] timeout."
       +            error "timeout."
                    return 1
                else
                    echo -n .
       t@@ -136,12 +139,12 @@ ask_usbkey() {
            if [ $? = 0 ]; then
                usbmount=$mtmp
            else
       -        echo "[!] cannot mount usbkey partition $usbmount"
       +        error "cannot mount usbkey partition $usbmount"
                return 1
            fi
        
            echo
       -    echo " .  usb key mounted on $usbmount"
       +    act "usb key mounted on $usbmount"
            usbkey_mount=$usbmount
            return 0
        }
       t@@ -151,17 +154,22 @@ launch_status() {
            # applet; it takes the tomb name as an argument and should be
            # launched after a successful tomb mount.
            if ! [ $1 ]; then
       -        echo "[!] cannot launch status tray applet: we don't even know the name of our tomb."
       +        error "cannot launch status tray applet: we don't even know the name of our tomb."
                exit 1
            fi
        
       -    tombname=${1}
       -    tombmap=`mount -l | awk "/\[${tombname}\]$/"' { print $1 } '`
       -    tombmount=`mount -l | awk "/\[${tombname}\]$/"' { print $3 } '`
       -    if [ -x ./tomb-status ]; then # launch from build dir
       -        ./tomb-status $tombmap $tombname $tombmount &!
       -    else
       -        tomb-status $tombmap $tombname $tombmount &!
       +    if [ $DISPLAY ]; then
       +        tombname=${1}
       +        tombmap=`mount -l | awk "/\[${tombname}\]$/"' { print $1 } '`
       +        tombmount=`mount -l | awk "/\[${tombname}\]$/"' { print $3 } '`
       +        if [ -x ./tomb-status ]; then # launch from build dir
       +            ./tomb-status $tombmap $tombname $tombmount &!
       +        else
       +            which tomb-status > /dev/null
       +            if [ $? = 0 ]; then
       +                tomb-status $tombmap $tombname $tombmount &!
       +            fi
       +        fi
            fi
        }
        
       t@@ -182,24 +190,24 @@ if [ $1 ]; then # is it a file?
                    else
                        ask_usbkey
                        if ! [ $usbkey_mount ]; then # no usb key was mounted
       -                    echo "key not provided for tomb: $tombname"
       -                    echo "operation aborted." # TODO: dialog with pinentry
       +                    error "key not provided for tomb: $tombname"
       +                    error "operation aborted." # TODO: dialog with pinentry
                            exit 1
                        else # usb mounted, check key presence
                            if [ -r ${usbkey_mount}/.tomb/${tombname}.tomb.key ]; then
                                tombkey=${usbkey_mount}/.tomb/${tombname}.tomb.key
                            elif [ -r ${usbkey_mount}/.tomb ]; then
       -                        echo "we can't find the right key, have a look yourself:"
       +                        error "we can't find the right key, have a look yourself:"
                                ls -lha ${usbkey_mount}/.tomb
                                exit 1
                            else
       -                        echo "there are no keys stored in your usb"
       +                        error "there are no keys stored in your usb"
                                exit 1
                            fi
                        fi
                    fi
                    if ! [ ${tombkey} ]; then # just to be sure
       -                echo "key not found, operation aborted."
       +                error "key not found, operation aborted."
                        exit 1
                    else
                        
       t@@ -245,8 +253,8 @@ fi
        # no argument but on graphical display: creation dialog
        if [ "$1" != "wizard" ]; then
            if [ -z $DISPLAY ]; then
       -        echo "[!] tomb-open is a wrapper for the command 'tomb'"
       -        echo "[!] type 'tomb-open wizard' if you want to be guided"
       +        error "tomb-open is a wrapper for the command 'tomb'"
       +        error "[!] type 'tomb-open wizard' if you want to be guided"
                "${TOMBEXEC}" -h
                exit 1
            fi
       t@@ -259,10 +267,11 @@ if [ -r $HOME/Desktop ]; then
            cd $HOME/Desktop;
        # or inside HOME
        else cd $HOME; fi
       -
       +notice "Tomb  -  simple commandline tool for encrypted storage"
       +act "version $VERSION ($DATE) by Jaromil @ dyne.org"
       +echo
       +notice "Guided creation of a new Tomb"
        cat <<EOF
       -Create a new Tomb
       -=================
        
          A Tomb is  a special folder that keeps files  safe using a password:
          it makes use  of strong encryption and helps you keep  the keys on a
       t@@ -282,24 +291,24 @@ EOF
        echo -n "> "
        read -q
        if [ "$?" != 0 ]; then
       -    echo "Operation aborted."
       +    error "Operation aborted."
            exit 1
        fi
            # let's proceed
       -echo "  Please type in the name for your new tomb file:"
       +notice "Please type in the name for your new tomb file:"
        echo -n "> "
        read -u 1 tombname
       -echo "  How big you want the Tomb to be?"
       -echo "  Type a size number in Megabytes:"
       +notice "How big you want the Tomb to be?"
       +act "Type a size number in Megabytes:"
        echo -n "> "
        read -u 1 tombsize
        if [[ "$tombsize" != <-> ]]; then
       -        echo "Only digit allowed! Operation aborted"
       +        error "Only digit allowed! Operation aborted"
                exit 1
        fi
        clear
       -echo "  You have commanded the creation of this Tomb:"
       -echo "    $tombname ( $tombsize MBytes )";
       +notice "You have commanded the creation of this Tomb:"
       +act "$tombname ( $tombsize MBytes )";
        echo
        cat <<EOF
          Please confirm if you want to proceed now:
       t@@ -316,11 +325,11 @@ cat <<EOF
          Considering 1GB takes usually little less than an hour to be digged.
        
        EOF
       -echo "  Digging will take quite some time! Should we start? (y/n)"
       +notice "  Digging will take quite some time! Should we start? (y/n)"
        echo -n "> "
        read -q
        if [ $? != 0 ]; then
       -    echo "Operation aborted."
       +    error "Operation aborted."
            exit 1
        fi
        cat <<EOF
       t@@ -332,7 +341,7 @@ tombfile=${tombname}.tomb
        "${TOMBEXEC}" -s $tombsize create ${tombfile}
        
        if [ $? != 0 ]; then
       -    echo "An error occurred creating tomb, operation aborted."
       +    error "An error occurred creating tomb, operation aborted."
            exit 1
        fi
        
       t@@ -356,8 +365,8 @@ if [ $? = 0 ]; then
                sudo cp -v ${tombfile}.key ${usbkey_mount}/.tomb/
                sudo chmod -R go-rwx ${usbkey_mount}/.tomb
        
       -        echo "${tombname}.key succesfully saved on your USB"
       -        echo "now we'll proceed opening your brand new tomb"
       +        notice "${tombname}.key succesfully saved on your USB"
       +        act "now we'll proceed opening your brand new tomb"
        
                "${TOMBEXEC}" -k ${tombfile}.key open ${tombfile}
                if [ $? = 0 ]; then