diff options
Diffstat (limited to 'contrib/dialog/samples/inputmenu-stdout')
-rwxr-xr-x | contrib/dialog/samples/inputmenu-stdout | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/contrib/dialog/samples/inputmenu-stdout b/contrib/dialog/samples/inputmenu-stdout new file mode 100755 index 0000000..22fce04 --- /dev/null +++ b/contrib/dialog/samples/inputmenu-stdout @@ -0,0 +1,53 @@ +#! /bin/bash +# $Id: inputmenu-stdout,v 1.8 2010/01/13 10:30:14 tom Exp $ +# 2002 - written by Tobias Rittweiler <tobrit@freebits.de> + +. ./setup-vars + +user="$USER" ; uid="$UID" ; +gid="$GROUPS" ; home="$HOME" ; + +while [ ${returncode:-99} -ne 1 -a ${returncode:-99} -ne 250 ]; do + value="$("$DIALOG" --stdout --clear --ok-label "Create" \ + --backtitle "An Example for the use of --inputmenu:" "$@" \ + --inputmenu "Originally I designed --inputmenu for a \ +configuration purpose. Here is a possible piece of a configuration program. +" 20 50 10 "Username:" "$user" "UID:" "$uid" "GID:" "$gid" "HOME:" "$home")" + returncode=$? + case $returncode in + $DIALOG_CANCEL) + "$DIALOG" --clear --backtitle "An Example for the use of --inputmenu:" \ + --yesno "Really quit?" 10 30 + case $? in + $DIALOG_OK) break;; + $DIALOG_CANCEL) returncode=99;; + esac + ;; + $DIALOG_OK) + "$DIALOG" --clear --backtitle "An Example for the use of --inputmenu:" \ + --msgbox "useradd \n\ + -d $home \n\ + -u $uid \n\ + -g $gid \n\ + $user" 10 40 + ;; + $DIALOG_EXTRA) + value="${value:8:${#value}}" + tag="${value%:*}" + item="${value#*: }" + + case "$tag" in + Username) user="$item";; + UID) uid="$item";; + GID) gid="$item";; + HOME) home="$item";; + esac + ;; + + $DIALOG_ESC) + echo "ESC pressed." + break + ;; + + esac +done |