#!/bin/bash # Demonstrate usage of using kdialog to display a progress bar and status updates dbus_handle=$(kdialog --title "Progress bar demo" \ --progressbar "Finding fish..." 1) qdbus $dbus_handle showCancelButton true items=( $(grep fish /usr/share/dict/words) ) num_items=${#items[*]} qdbus $dbus_handle Set '' maximum $num_items for (( i=0; i < num_items; ++i ));do if [[ $(qdbus $dbus_handle wasCancelled) == true ]];then qdbus $dbus_handle showCancelButton false qdbus $dbus_handle setLabelText "You don't like fish?" sleep 3 qdbus $dbus_handle close exit 1 fi qdbus $dbus_handle setLabelText "There's ${items[i]}" qdbus $dbus_handle Set '' value $i sleep .01 done qdbus $dbus_handle showCancelButton false qdbus $dbus_handle Set '' value $num_items qdbus $dbus_handle setLabelText "And that's all the fish there are" sleep 3 qdbus $dbus_handle close