Use the --progress option. Progress Dialog

Use the --progress option to create a progress dialog.

Zenity reads data from standard input line by line. If a line is prefixed with #, the text is updated with the text on that line. If a line contains only a number, the percentage is updated with that number.

The progress dialog supports the following options:

<cmd>--text</cmd>=<var>text</var>

Specifies the text that is displayed in the progress dialog.

<cmd>--percentage</cmd>=<var>percentage</var>

Specifies the initial percentage that is set in the progress dialog.

<cmd>--auto-close</cmd>

Closes the progress dialog when 100% has been reached.

<cmd>--pulsate</cmd>

Specifies that the progress bar pulsates until an EOF character is read from standard input.

The following example script shows how to create a progress dialog:

#!/bin/sh ( echo "10" ; sleep 1 echo "# Updating mail logs" ; sleep 1 echo "20" ; sleep 1 echo "# Resetting cron jobs" ; sleep 1 echo "50" ; sleep 1 echo "This line will just be ignored" ; sleep 1 echo "75" ; sleep 1 echo "# Rebooting system" ; sleep 1 echo "100" ; sleep 1 ) | zenity --progress \ --title="Update System Logs" \ --text="Scanning mail logs..." \ --percentage=0 if [ "$?" = -1 ] ; then zenity --error \ --text="Update canceled." fi
Progress Dialog Example Zenity progress dialog example