進捗表示ダイアログ

進捗表示ダイアログを作成するには、--progress というオプションを使ってください。

Zenity は、標準入力から 1 行ごとにデータを読み込みます。行が # で始まっている場合、進捗表示ダイアログに表示しているテキストを更新します。行が数値のみを含んでいる場合、進捗状況のパーセンテージをその数値で更新します。

進捗表示ダイアログは、以下のオプションをサポートしています。

--text=テキスト

進捗表示ダイアログに表示するテキストを指定します。

--percentage=パーセンテージ

進捗表示ダイアログに設定する初期のパーセンテージを指定します。

--auto-close

100% に到達した際に進捗表示ダイアログを閉じます。

--pulsate

標準入力から EOF 文字を読み込むまで進捗表示バーを振動させたい場合に指定します。

以下のスクリプトの例で進捗表示ダイアログの作成方法を示します。

#!/bin/sh
(
echo "10" ; sleep 1
echo "# メールログの更新" ; sleep 1
echo "20" ; sleep 1
echo "# cron ジョブの再設定" ; sleep 1
echo "50" ; sleep 1
echo "この行は無視されます" ; sleep 1
echo "75" ; sleep 1
echo "# システムの再起動" ; sleep 1
echo "100" ; sleep 1
) |
zenity --progress \
  --title="システムログの更新" \
  --text="メールログを走査中..." \
  --percentage=0

if [ "$?" = -1 ] ; then
        zenity --error \
          --text="更新がキャンセルされました。"
fi

進捗表示ダイアログの例

Zenity 進捗表示ダイアログの例