xref: /freebsd/contrib/dialog/samples/inputmenu (revision 4c8945a06b01a5c8122cdeb402af36bb46a06acc)
1*4c8945a0SNathan Whitehorn#! /bin/bash
2*4c8945a0SNathan Whitehorn# $Id: inputmenu,v 1.10 2010/01/13 10:29:22 tom Exp $
3*4c8945a0SNathan Whitehorn# 2002 - written by Tobias Rittweiler <tobrit@freebits.de>
4*4c8945a0SNathan Whitehorn
5*4c8945a0SNathan Whitehorn. ./setup-vars
6*4c8945a0SNathan Whitehorn
7*4c8945a0SNathan Whitehornuser="$USER"    ; uid="$UID"   ;
8*4c8945a0SNathan Whitehorngid="$GROUPS"  ; home="$HOME"  ;
9*4c8945a0SNathan Whitehorn
10*4c8945a0SNathan Whitehornwhile [ ${returncode:-99} -ne 1 -a ${returncode:-99} -ne 250 ]; do
11*4c8945a0SNathan Whitehorn       exec 3>&1
12*4c8945a0SNathan Whitehorn       value=$("$DIALOG" --clear --ok-label "Create" \
13*4c8945a0SNathan Whitehorn                          --backtitle "An Example for the use of --inputmenu:" "$@" \
14*4c8945a0SNathan Whitehorn                          --inputmenu "Originally I designed --inputmenu for a \
15*4c8945a0SNathan Whitehornconfiguration purpose. Here is a possible piece of a configuration program. \
16*4c8945a0SNathan Whitehorn" 20 50 10 \
17*4c8945a0SNathan Whitehorn"Username:" "$user" \
18*4c8945a0SNathan Whitehorn"UID:"      "$uid" \
19*4c8945a0SNathan Whitehorn"GID:"      "$gid" \
20*4c8945a0SNathan Whitehorn"HOME:"     "$home" \
21*4c8945a0SNathan Whitehorn2>&1 1>&3 )
22*4c8945a0SNathan Whitehorn       returncode=$?
23*4c8945a0SNathan Whitehorn       exec 3>&-
24*4c8945a0SNathan Whitehorn       case $returncode in
25*4c8945a0SNathan Whitehorn       $DIALOG_CANCEL)
26*4c8945a0SNathan Whitehorn               "$DIALOG"  --clear --backtitle "An Example for the use of --inputmenu:" \
27*4c8945a0SNathan Whitehorn                               --yesno "Really quit?" 10 30
28*4c8945a0SNathan Whitehorn               case $? in
29*4c8945a0SNathan Whitehorn                       $DIALOG_OK) break;;
30*4c8945a0SNathan Whitehorn                       $DIALOG_CANCEL) returncode=99;;
31*4c8945a0SNathan Whitehorn               esac
32*4c8945a0SNathan Whitehorn               ;;
33*4c8945a0SNathan Whitehorn       $DIALOG_OK)
34*4c8945a0SNathan Whitehorn               "$DIALOG" --clear --backtitle "An Example for the use of --inputmenu:"  \
35*4c8945a0SNathan Whitehorn			--msgbox "useradd \n\
36*4c8945a0SNathan Whitehorn				-d $home \n\
37*4c8945a0SNathan Whitehorn				-u $uid \n\
38*4c8945a0SNathan Whitehorn				-g $gid \n\
39*4c8945a0SNathan Whitehorn				$user" 10 40
40*4c8945a0SNathan Whitehorn               ;;
41*4c8945a0SNathan Whitehorn       $DIALOG_EXTRA)
42*4c8945a0SNathan Whitehorn               value="${value:8:${#value}}"
43*4c8945a0SNathan Whitehorn               tag="${value%:*}"
44*4c8945a0SNathan Whitehorn               item="${value#*: }"
45*4c8945a0SNathan Whitehorn
46*4c8945a0SNathan Whitehorn               case "$tag" in
47*4c8945a0SNathan Whitehorn                       Username) user="$item";;
48*4c8945a0SNathan Whitehorn                       UID) uid="$item";;
49*4c8945a0SNathan Whitehorn                       GID) gid="$item";;
50*4c8945a0SNathan Whitehorn                       HOME) home="$item";;
51*4c8945a0SNathan Whitehorn               esac
52*4c8945a0SNathan Whitehorn               ;;
53*4c8945a0SNathan Whitehorn
54*4c8945a0SNathan Whitehorn       $DIALOG_ESC)
55*4c8945a0SNathan Whitehorn                echo "ESC pressed."
56*4c8945a0SNathan Whitehorn                break
57*4c8945a0SNathan Whitehorn                ;;
58*4c8945a0SNathan Whitehorn
59*4c8945a0SNathan Whitehorn       esac
60*4c8945a0SNathan Whitehorndone
61