xref: /freebsd/contrib/dialog/samples/inputmenu3 (revision a96ef4501919d7ac08e94e98dc34b0bdd744802b)
14c8945a0SNathan Whitehorn#! /bin/sh
2*a96ef450SBaptiste Daroussin# $Id: inputmenu3,v 1.14 2020/11/26 00:28:52 tom Exp $
34c8945a0SNathan Whitehorn#
44c8945a0SNathan Whitehorn# "inputmenu1" with defaultitem, help-button and item-help.
54c8945a0SNathan Whitehorn
64c8945a0SNathan Whitehorn. ./setup-vars
74c8945a0SNathan Whitehorn
84c8945a0SNathan Whitehornbacktitle="An Example for the use of --inputmenu:"
94c8945a0SNathan Whitehorn
104c8945a0SNathan Whitehornids=`id|sed -e 's/([^)]*)//g'`
114c8945a0SNathan Whitehornuid=`echo "$ids" | sed -e 's/^uid=//' -e 's/ .*//'`
124c8945a0SNathan Whitehorngid=`echo "$ids" | sed -e 's/^.* gid=//' -e 's/ .*//'`
134c8945a0SNathan Whitehorn
144c8945a0SNathan Whitehornuser="$USER"
154c8945a0SNathan Whitehornhome="$HOME"
164c8945a0SNathan Whitehorn
174c8945a0SNathan Whitehornreturncode=0
184c8945a0SNathan Whitehorndefaultitem="Username:"
194c8945a0SNathan Whitehornwhile test $returncode != 1 && test $returncode != 250
204c8945a0SNathan Whitehorndo
214c8945a0SNathan Whitehornexec 3>&1
22*a96ef450SBaptiste Daroussinreturntext=`$DIALOG --clear --ok-label "Create" \
234c8945a0SNathan Whitehorn	  --backtitle "$backtitle" \
244c8945a0SNathan Whitehorn	  --help-button \
254c8945a0SNathan Whitehorn	  --help-label "Script" \
264c8945a0SNathan Whitehorn	  --default-item "$defaultitem" \
274c8945a0SNathan Whitehorn	  --item-help "$@" \
284c8945a0SNathan Whitehorn	  --inputmenu "Originally I designed --inputmenu for a \
294c8945a0SNathan Whitehornconfiguration purpose. Here is a possible piece of a configuration program." \
304c8945a0SNathan Whitehorn20 60 10 \
314c8945a0SNathan Whitehorn	"Username:"	"$user" "User login-name" \
324c8945a0SNathan Whitehorn	"UID:"		"$uid"  "User-ID (number)" \
334c8945a0SNathan Whitehorn	"GID:"		"$gid"  "Group-ID (number)" \
344c8945a0SNathan Whitehorn	"HOME:"		"$home" "User's home-directory" \
354c8945a0SNathan Whitehorn2>&1 1>&3`
364c8945a0SNathan Whitehornreturncode=$?
374c8945a0SNathan Whitehornexec 3>&-
384c8945a0SNathan Whitehorn
394c8945a0SNathan Whitehorn	case $returncode in
404c8945a0SNathan Whitehorn	$DIALOG_CANCEL)
414c8945a0SNathan Whitehorn		"$DIALOG" \
424c8945a0SNathan Whitehorn		--clear \
434c8945a0SNathan Whitehorn		--backtitle "$backtitle" \
444c8945a0SNathan Whitehorn		--yesno "Really quit?" 10 30
454c8945a0SNathan Whitehorn		case $? in
464c8945a0SNathan Whitehorn		$DIALOG_OK)
474c8945a0SNathan Whitehorn			break
484c8945a0SNathan Whitehorn			;;
494c8945a0SNathan Whitehorn		$DIALOG_CANCEL)
504c8945a0SNathan Whitehorn			returncode=99
514c8945a0SNathan Whitehorn			;;
524c8945a0SNathan Whitehorn		esac
534c8945a0SNathan Whitehorn		;;
544c8945a0SNathan Whitehorn	$DIALOG_OK)
55*a96ef450SBaptiste Daroussin		case $returntext in
564c8945a0SNathan Whitehorn		HELP*)
574c8945a0SNathan Whitehorn			"$DIALOG" \
584c8945a0SNathan Whitehorn			--textbox "$0" 0 0
594c8945a0SNathan Whitehorn			;;
604c8945a0SNathan Whitehorn		*)
614c8945a0SNathan Whitehorn			"$DIALOG" \
624c8945a0SNathan Whitehorn			--clear \
634c8945a0SNathan Whitehorn			--backtitle "$backtitle" \
644c8945a0SNathan Whitehorn			--msgbox "useradd \n\
654c8945a0SNathan Whitehorn				-d $home \n\
664c8945a0SNathan Whitehorn				-u $uid \n\
674c8945a0SNathan Whitehorn				-g $gid \n\
684c8945a0SNathan Whitehorn				$user" 10 40
694c8945a0SNathan Whitehorn			;;
704c8945a0SNathan Whitehorn		esac
714c8945a0SNathan Whitehorn		;;
724c8945a0SNathan Whitehorn	$DIALOG_HELP)
734c8945a0SNathan Whitehorn		"$DIALOG" \
744c8945a0SNathan Whitehorn		--textbox "$0" 0 0
754c8945a0SNathan Whitehorn		;;
764c8945a0SNathan Whitehorn	$DIALOG_EXTRA)
77*a96ef450SBaptiste Daroussin		tag=`echo "$returntext" |sed -e 's/^RENAMED //' -e 's/:.*/:/'`
78*a96ef450SBaptiste Daroussin		item=`echo "$returntext" |sed -e 's/^[^:]*:[ ]*//' -e 's/[ ]*$//'`
794c8945a0SNathan Whitehorn
804c8945a0SNathan Whitehorn		case "$tag" in
814c8945a0SNathan Whitehorn		Username:)
824c8945a0SNathan Whitehorn			user="$item"
834c8945a0SNathan Whitehorn			;;
844c8945a0SNathan Whitehorn		UID:)
854c8945a0SNathan Whitehorn			uid="$item"
864c8945a0SNathan Whitehorn			;;
874c8945a0SNathan Whitehorn		GID:)
884c8945a0SNathan Whitehorn			gid="$item"
894c8945a0SNathan Whitehorn			;;
904c8945a0SNathan Whitehorn		HOME:)
914c8945a0SNathan Whitehorn			home="$item"
924c8945a0SNathan Whitehorn			;;
934c8945a0SNathan Whitehorn		*)
944c8945a0SNathan Whitehorn			tag=
954c8945a0SNathan Whitehorn			;;
964c8945a0SNathan Whitehorn		esac
974c8945a0SNathan Whitehorn		test -n "$tag" && defaultitem="$tag"
984c8945a0SNathan Whitehorn		;;
994c8945a0SNathan Whitehorn
100*a96ef450SBaptiste Daroussin	*)
101*a96ef450SBaptiste Daroussin                . ./report-button
1024c8945a0SNathan Whitehorn                break
1034c8945a0SNathan Whitehorn                ;;
1044c8945a0SNathan Whitehorn
1054c8945a0SNathan Whitehorn	esac
1064c8945a0SNathan Whitehorndone
107