#! /bin/sh # $Id: form1-extra,v 1.1 2005/12/05 23:27:50 tom Exp $ : ${DIALOG=dialog} backtitle="An Example for the use of --form:" ids=`id|sed -e 's/([^)]*)//g'` uid=`echo "$ids" | sed -e 's/^uid=//' -e 's/ .*//'` gid=`echo "$ids" | sed -e 's/^.* gid=//' -e 's/ .*//'` user="$USER" home="$HOME" returncode=0 while test $returncode != 1 && test $returncode != 250 do exec 3>&1 value=`$DIALOG --ok-label "Submit" \ --extra-button \ --backtitle "$backtitle" \ --form "Here is a possible piece of a configuration program." \ 20 50 0 \ "Username:" 1 1 "$user" 1 10 10 0 \ "UID:" 2 1 "$uid" 2 10 8 0 \ "GID:" 3 1 "$gid" 3 10 8 0 \ "HOME:" 4 1 "$home" 4 10 40 0 \ 2>&1 1>&3` returncode=$? exec 3>&- show=`echo "$value" |sed -e 's/^/ /'` case $returncode in 1) "$DIALOG" \ --clear \ --backtitle "$backtitle" \ --yesno "Really quit?" 10 30 case $? in 0) break ;; 1) returncode=99 ;; esac ;; 0) "$DIALOG" \ --clear \ --backtitle "$backtitle" --no-collapse --cr-wrap \ --msgbox "Resulting data:\n\ $show" 10 40 ;; 2) echo "Button 2 (Help) pressed." exit ;; 3) echo "Button 3 (Extra) pressed." exit ;; *) echo "Return code was $returncode" exit ;; esac done