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 |