xref: /freebsd/contrib/dialog/samples/inputmenu4 (revision 4c8945a06b01a5c8122cdeb402af36bb46a06acc)
1*4c8945a0SNathan Whitehorn#! /bin/sh
2*4c8945a0SNathan Whitehorn# $Id: inputmenu4,v 1.8 2010/01/13 10:33:35 tom Exp $
3*4c8945a0SNathan Whitehorn#
4*4c8945a0SNathan Whitehorn# "inputmenu1" with a different label for the extra-button
5*4c8945a0SNathan Whitehorn
6*4c8945a0SNathan Whitehorn. ./setup-vars
7*4c8945a0SNathan Whitehorn
8*4c8945a0SNathan Whitehornbacktitle="An Example for the use of --inputmenu:"
9*4c8945a0SNathan Whitehorn
10*4c8945a0SNathan Whitehornids=`id|sed -e 's/([^)]*)//g'`
11*4c8945a0SNathan Whitehornuid=`echo "$ids" | sed -e 's/^uid=//' -e 's/ .*//'`
12*4c8945a0SNathan Whitehorngid=`echo "$ids" | sed -e 's/^.* gid=//' -e 's/ .*//'`
13*4c8945a0SNathan Whitehorn
14*4c8945a0SNathan Whitehornuser="$USER"
15*4c8945a0SNathan Whitehornhome="$HOME"
16*4c8945a0SNathan Whitehorn
17*4c8945a0SNathan Whitehornreturncode=0
18*4c8945a0SNathan Whitehornwhile test $returncode != 1 && test $returncode != 250
19*4c8945a0SNathan Whitehorndo
20*4c8945a0SNathan Whitehornexec 3>&1
21*4c8945a0SNathan Whitehornvalue=`$DIALOG --clear --ok-label "Create" \
22*4c8945a0SNathan Whitehorn	--extra-label "Edit" \
23*4c8945a0SNathan Whitehorn	  --backtitle "$backtitle" "$@" \
24*4c8945a0SNathan Whitehorn	  --inputmenu "Originally I designed --inputmenu for a \
25*4c8945a0SNathan Whitehornconfiguration purpose. Here is a possible piece of a configuration program." \
26*4c8945a0SNathan Whitehorn20 50 10 \
27*4c8945a0SNathan Whitehorn	"Username:"	"$user" \
28*4c8945a0SNathan Whitehorn	"UID:"		"$uid" \
29*4c8945a0SNathan Whitehorn	"GID:"		"$gid" \
30*4c8945a0SNathan Whitehorn	"HOME:"		"$home" \
31*4c8945a0SNathan Whitehorn2>&1 1>&3`
32*4c8945a0SNathan Whitehornreturncode=$?
33*4c8945a0SNathan Whitehornexec 3>&-
34*4c8945a0SNathan Whitehorn
35*4c8945a0SNathan Whitehorn	case $returncode in
36*4c8945a0SNathan Whitehorn	$DIALOG_CANCEL)
37*4c8945a0SNathan Whitehorn		"$DIALOG" \
38*4c8945a0SNathan Whitehorn		--clear \
39*4c8945a0SNathan Whitehorn		--backtitle "$backtitle" \
40*4c8945a0SNathan Whitehorn		--yesno "Really quit?" 10 30
41*4c8945a0SNathan Whitehorn		case $? in
42*4c8945a0SNathan Whitehorn		$DIALOG_OK)
43*4c8945a0SNathan Whitehorn			break
44*4c8945a0SNathan Whitehorn			;;
45*4c8945a0SNathan Whitehorn		$DIALOG_CANCEL)
46*4c8945a0SNathan Whitehorn			returncode=99
47*4c8945a0SNathan Whitehorn			;;
48*4c8945a0SNathan Whitehorn		esac
49*4c8945a0SNathan Whitehorn		;;
50*4c8945a0SNathan Whitehorn	$DIALOG_OK)
51*4c8945a0SNathan Whitehorn		"$DIALOG" \
52*4c8945a0SNathan Whitehorn		--clear \
53*4c8945a0SNathan Whitehorn		--backtitle "$backtitle" \
54*4c8945a0SNathan Whitehorn		--msgbox "useradd \n\
55*4c8945a0SNathan Whitehorn			-d $home \n\
56*4c8945a0SNathan Whitehorn			-u $uid \n\
57*4c8945a0SNathan Whitehorn			-g $gid \n\
58*4c8945a0SNathan Whitehorn			$user" 10 40
59*4c8945a0SNathan Whitehorn		;;
60*4c8945a0SNathan Whitehorn	$DIALOG_EXTRA)
61*4c8945a0SNathan Whitehorn		tag=`echo "$value" |sed -e 's/^RENAMED //' -e 's/:.*//'`
62*4c8945a0SNathan Whitehorn		item=`echo "$value" |sed -e 's/^.*:[ ]*//' -e 's/[ ]*$//'`
63*4c8945a0SNathan Whitehorn
64*4c8945a0SNathan Whitehorn		case "$tag" in
65*4c8945a0SNathan Whitehorn		Username)
66*4c8945a0SNathan Whitehorn			user="$item"
67*4c8945a0SNathan Whitehorn			;;
68*4c8945a0SNathan Whitehorn		UID)
69*4c8945a0SNathan Whitehorn			uid="$item"
70*4c8945a0SNathan Whitehorn			;;
71*4c8945a0SNathan Whitehorn		GID)
72*4c8945a0SNathan Whitehorn			gid="$item"
73*4c8945a0SNathan Whitehorn			;;
74*4c8945a0SNathan Whitehorn		HOME)
75*4c8945a0SNathan Whitehorn			home="$item"
76*4c8945a0SNathan Whitehorn			;;
77*4c8945a0SNathan Whitehorn		esac
78*4c8945a0SNathan Whitehorn		;;
79*4c8945a0SNathan Whitehorn
80*4c8945a0SNathan Whitehorn	$DIALOG_ESC)
81*4c8945a0SNathan Whitehorn		echo "ESC pressed."
82*4c8945a0SNathan Whitehorn		break
83*4c8945a0SNathan Whitehorn		;;
84*4c8945a0SNathan Whitehorn
85*4c8945a0SNathan Whitehorn	esac
86*4c8945a0SNathan Whitehorndone
87