summaryrefslogtreecommitdiff
path: root/help/C/progress.page
blob: ff3b7304a99a6d56ff69a7d26fbb2ab43c3fd5d2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
<page xmlns="http://projectmallard.org/1.0/"
      type="topic"
      id="progress">
  <info>
    <link type="guide" xref="index#dialogs"/>
    <desc>Use the <cmd>--progress</cmd> option.</desc>
    <include href="legal.xml" xmlns="http://www.w3.org/2001/XInclude" />
  </info>
  <title>Progress Dialog</title>
    <p>
	Use the <cmd>--progress</cmd> option to create a progress dialog. 
    </p>

    <p>
      <app>Zenity</app> 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.
    </p>
	
    <p>
	The progress dialog supports the following options:
    </p>

    <terms>

      <item>
        <title><cmd>--text</cmd>=<var>text</var></title>
	  <p>Specifies the text that is displayed in the progress dialog.</p>
      </item>

      <item>
        <title><cmd>--percentage</cmd>=<var>percentage</var></title>
	  <p>Specifies the initial percentage that is set in the progress dialog.</p>
      </item>

      <item>
	<title><cmd>--auto-close</cmd></title>
	  <p>Closes the progress dialog when 100% has been reached.</p>
      </item>

      <item>
        <title><cmd>--pulsate</cmd></title>
	  <p>Specifies that the progress bar pulsates until an EOF character is read from standard input.</p>
      </item>

    </terms>

    <p>
      The following example script shows how to create a progress dialog:
    </p>

<code>
#!/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
</code>


    <figure>
      <title>Progress Dialog Example</title>
      <desc><app>Zenity</app> progress dialog example</desc>
      <media type="image" mime="image/png" src="figures/zenity-progress-screenshot.png"/>
    </figure>
</page>