slitaz-tools annotate tinyutils/subox @ rev 464

subox: can save and remember passwd
author Christophe Lincoln <pankso@slitaz.org>
date Wed Mar 24 22:03:29 2010 +0100 (2010-03-24)
parents 89e957d86a6e
children a8fe4b3aaf04
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
MikeDSmith25@252 28 # Main window and root password default entry set to 'root'.
pankso@464 29 SU_DIALOG='
pankso@445 30 <window title="Subox" skip_taskbar_hint="true">
pankso@445 31 <vbox>
pankso@387 32
pankso@445 33 <text use-markup="true">
pankso@445 34 <label>"
pankso@35 35 <b>SliTaz - Subox</b>"
pankso@445 36 </label>
pankso@445 37 </text>
jozee@458 38 <text wrap="true" width-chars="50">
pankso@445 39 <label>"'`gettext "
pankso@453 40 Please enter root password (default root) to execute :"`'
pankso@453 41 '$@'
pankso@445 42 "
pankso@445 43 </label>
pankso@445 44 </text>
pankso@445 45
pankso@445 46 <hbox>
pankso@445 47 <text use-markup="true">
jozee@458 48 <label>"'`gettext "<b>Admin password :</b>"`'"</label>
pankso@445 49 </text>
pankso@464 50 <entry visibility="false">'
pankso@464 51
pankso@464 52 # Check if we have a saved passwd.
pankso@464 53 if [ -s $HOME/.config/slitaz/subox.conf ]; then
pankso@464 54 PASSWD=`cat $HOME/.config/slitaz/subox.conf`
pankso@464 55 [ -n "$PASSWD" ] && SU_DIALOG="$SU_DIALOG <default>$PASSWD</default>"
pankso@464 56 fi
pankso@464 57
pankso@464 58 export SU_DIALOG=''${SU_DIALOG}'
pankso@445 59 <variable>PASSWD</variable>
pankso@445 60 </entry>
pankso@445 61 </hbox>
pankso@445 62
pankso@445 63 <hbox>
pankso@464 64 <checkbox>
pankso@464 65 <label>"'`gettext "Autosave password"`'"</label>
pankso@464 66 <variable>AUTOSAVE</variable>
pankso@464 67 <default>false</default>
pankso@464 68 </checkbox>
pankso@445 69 <button ok>
pankso@445 70 <action>echo $PASSWD | su -c "$SU_CMD" &</action>
pankso@464 71 <action>[ $AUTOSAVE == true ] && echo $PASSWD > '$HOME/.config/slitaz/subox.conf'</action>
pankso@464 72 <action>[ $AUTOSAVE == true ] && chmod 0600 '$HOME/.config/slitaz/subox.conf'</action>
pankso@445 73 <action type="closewindow">SU_DIALOG</action>
pankso@445 74 </button>
pankso@445 75 <button cancel></button>
pankso@445 76 </hbox>
pankso@387 77
pankso@445 78 </vbox>
pankso@445 79 </window>'
pankso@35 80
pankso@464 81 gtkdialog --center --program=SU_DIALOG > /dev/null
pankso@445 82
pankso@387 83 exit 0