slitaz-tools annotate tinyutils/subox @ rev 533

Fix error in subox. Error was 'line 78: {AUTO_SAVE_PASSWD=false}: not found' and 'sh:true: unknown operand'.
author Christopher Rogers <slaxemulator@gmail.com>
date Sun Dec 26 16:44:14 2010 +0000 (2010-12-26)
parents 86a3ff3ffade
children
rev   line source
pankso@445 1 #!/bin/sh
pankso@35 2 #
pankso@35 3 # Gtkdialog to execute program as root from a WM menu.
pankso@445 4 # (c) SliTaz GNU/Linux 2008-2010 - GNU gpl.
pankso@35 5 #
pankso@464 6 VERSION=20100324
pankso@35 7
pankso@35 8 # Usage.
pankso@35 9 if [ -z "$1" ]; then
pankso@35 10 echo "Slitaz subox version : $VERSION"
pankso@35 11 echo -e "\nUsage : subox program\n"
pankso@35 12 exit 0
pankso@35 13 fi
pankso@35 14
pascal@206 15 # Nothing to do if we are root
pankso@453 16 test $(id -u) = 0 && exec $1
pankso@445 17
pankso@445 18 # Include gettext helper script.
pankso@445 19 . /usr/bin/gettext.sh
pankso@445 20
pankso@445 21 # Export package name for gettext.
pankso@445 22 TEXTDOMAIN='subox'
pankso@445 23 export TEXTDOMAIN
pascal@206 24
pankso@387 25 # Keep command in an exported variable to be used by SU_DIALOG.
pankso@453 26 export SU_CMD=$1
pankso@35 27
fredericguilbault@505 28 # Error window if the pwd is wrong.
fredericguilbault@505 29 export ERROR_DIALOG='
fredericguilbault@505 30 <window title="Subox">
fredericguilbault@505 31 <vbox>
fredericguilbault@505 32
fredericguilbault@505 33 <text use-markup="true">
fredericguilbault@505 34 <label>"
fredericguilbault@505 35 <b>SliTaz - Subox</b>"
fredericguilbault@505 36 </label>
fredericguilbault@505 37 </text>
fredericguilbault@505 38 <text wrap="true" width-chars="48">
fredericguilbault@505 39 <label>"'`gettext "Error: wrong password!"`'"</label>
fredericguilbault@505 40 </text>
fredericguilbault@505 41
fredericguilbault@505 42 <hbox>
fredericguilbault@505 43 <button ok></button>
fredericguilbault@505 44 </hbox>
fredericguilbault@505 45 </vbox>
fredericguilbault@505 46 </window>
fredericguilbault@505 47 '
fredericguilbault@505 48
MikeDSmith25@252 49 # Main window and root password default entry set to 'root'.
pankso@464 50 SU_DIALOG='
pankso@445 51 <window title="Subox" skip_taskbar_hint="true">
pankso@445 52 <vbox>
pankso@387 53
pankso@445 54 <text use-markup="true">
pankso@445 55 <label>"
pankso@35 56 <b>SliTaz - Subox</b>"
pankso@445 57 </label>
pankso@445 58 </text>
jozee@458 59 <text wrap="true" width-chars="50">
pankso@445 60 <label>"'`gettext "
pankso@453 61 Please enter root password (default root) to execute :"`'
pankso@453 62 '$@'
pankso@445 63 "
pankso@445 64 </label>
pankso@445 65 </text>
pankso@445 66
pankso@445 67 <hbox>
pankso@445 68 <text use-markup="true">
jozee@458 69 <label>"'`gettext "<b>Admin password :</b>"`'"</label>
pankso@445 70 </text>
pankso@464 71 <entry visibility="false">'
pankso@464 72
pankso@464 73 # Check if we have a saved passwd.
pankso@464 74 if [ -s $HOME/.config/slitaz/subox.conf ]; then
pankso@464 75 PASSWD=`cat $HOME/.config/slitaz/subox.conf`
slaxemulator@533 76 [ -n "$PASSWD" ] && SU_DIALOG="$SU_DIALOG <default>$PASSWD</default>" && AUTO_SAVED_PASSWD=true
slaxemulator@533 77 else
slaxemulator@533 78 AUTO_SAVED_PASSWD=false
pankso@464 79 fi
pankso@464 80
pankso@464 81 export SU_DIALOG=''${SU_DIALOG}'
pankso@445 82 <variable>PASSWD</variable>
pankso@445 83 </entry>
pankso@445 84 </hbox>
pankso@445 85
pankso@445 86 <hbox>
pankso@464 87 <checkbox>
fredericguilbault@503 88
fredericguilbault@503 89 <label>"'`gettext "Autosave password"`'"</label>
fredericguilbault@501 90 <variable>AUTOSAVE</variable>'
fredericguilbault@501 91 if [ $AUTO_SAVED_PASSWD = "true" ]
fredericguilbault@501 92 then SU_DIALOG="$SU_DIALOG <default>true</default>"
fredericguilbault@501 93 else SU_DIALOG="$SU_DIALOG <default>false</default>"
fredericguilbault@501 94 fi
fredericguilbault@501 95
fredericguilbault@501 96 export SU_DIALOG=''${SU_DIALOG}'
fredericguilbault@505 97
pankso@464 98 </checkbox>
pankso@445 99 <button ok>
fredericguilbault@505 100 <action> echo $PASSWD | su -c "$SU_CMD &" || gtkdialog --center --program=ERROR_DIALOG</action>
pankso@464 101 <action>[ $AUTOSAVE == true ] && echo $PASSWD > '$HOME/.config/slitaz/subox.conf'</action>
pankso@464 102 <action>[ $AUTOSAVE == true ] && chmod 0600 '$HOME/.config/slitaz/subox.conf'</action>
fredericguilbault@502 103 <action>[ $AUTOSAVE == false ] && cat /dev/null > '$HOME/.config/slitaz/subox.conf'</action>
pankso@445 104 <action type="closewindow">SU_DIALOG</action>
pankso@445 105 </button>
pankso@445 106 <button cancel></button>
pankso@445 107 </hbox>
pankso@387 108
pankso@445 109 </vbox>
pankso@445 110 </window>'
pankso@35 111
pankso@464 112 gtkdialog --center --program=SU_DIALOG > /dev/null
pankso@445 113
pankso@387 114 exit 0