summaryrefslogtreecommitdiffstats
path: root/contrib/dialog/samples/inputmenu
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/dialog/samples/inputmenu')
-rwxr-xr-xcontrib/dialog/samples/inputmenu60
1 files changed, 60 insertions, 0 deletions
diff --git a/contrib/dialog/samples/inputmenu b/contrib/dialog/samples/inputmenu
new file mode 100755
index 0000000..5053cda
--- /dev/null
+++ b/contrib/dialog/samples/inputmenu
@@ -0,0 +1,60 @@
+#! /bin/bash
+# $Id: inputmenu,v 1.10 2010/01/13 10:29:22 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
+ exec 3>&1
+ value=$("$DIALOG" --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" \
+2>&1 1>&3 )
+ returncode=$?
+ exec 3>&-
+ 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
OpenPOWER on IntegriCloud