freebsd-dev/contrib/dialog/samples/inputmenu
Nathan Whitehorn 1971864966 Revert r241818 that updated dialog to 20120706. This turns out to horribly
break mixed form dialogs in conjunction with the FreeBSD termcap, making
the bsdinstall partition editor Add dialog, among other things, completely
nonfunctional. This restores dialog 20110707.
2012-12-30 04:22:34 +00:00

61 lines
1.8 KiB
Bash
Executable File

#! /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