# Progress Dialog

* [Zenity Manual](https://pyzenity.gitbook.io/docs/dialogs/broken-reference)

&#x20;Use the --progress option to create a progress dialog.

&#x20;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.

&#x20;The progress dialog supports the following options: --text=text

Specifies the text that is displayed in the progress dialog. --percentage=percentage

Specifies the initial percentage that is set in the progress dialog.--auto-close

Closes the progress dialog when 100% has been reached.--pulsate

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

&#x20;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

```

Figure 9 Progress Dialog Example
