Example 20. File 05.02-progress_bar_test
#! /usr/bin/gtkdialog -e function progress() { for i in $(seq 0 10 100); do echo $i [ "$i" -le 30 ] && echo "Start..." [ "$i" -le 60 -a "$i" -gt 30 ] && echo "Middle..." [ "$i" -gt 60 ] && echo "End..." sleep 0.3 done; echo ready } function progress_fast() { for i in $(seq 0 1 10000); do echo $((i/100)) [ "$i" -le 3000 ] && echo "Start..." [ "$i" -le 6000 -a "$i" -gt 3000 ] && echo "Middle..." [ "$i" -gt 6000 ] && echo "End..." #sleep 0.1 done; echo ready } export MAIN_DIALOG=' <vbox> <entry> <variable>ENTRY</variable> <input>date</input> </entry> <hbox> <button cancel> </button> <button> <label>Launch</label> <action type="launch">BAR_DIALOG</action> </button> <button> <label>Close</label> <action type="exit">CLOSE</action> </button> </hbox> </vbox> ' export BAR_DIALOG=' <vbox> <frame Progress> <text> <label>Some text describing what is happening.</label> </text> <progressbar> <variable>PROGRESS_BAR</variable> <label>Some Text</label> <input>progress_fast</input> <action type="refresh">ENTRY</action> <action type="closewindow">BAR_DIALOG</action> <action>echo ready</action> </progressbar> </frame> <hbox> <button cancel> <action type="closewindow">BAR_DIALOG</action> </button> </hbox> </vbox> '