require 'gtk2' w = Gtk::Window.new w.signal_connect('destroy') { Gtk.main_quit } pb = Gtk::ProgressBar.new t = Thread.new do fraction = 0.0 while true print "." sleep(1) fraction = (fraction + 0.1) fraction -= 1 while fraction > 1 Gtk.idle_add do pb.fraction = fraction false end end end w << pb w.show_all Gtk.main