#!/usr/bin/perl use strict; use warnings; use Glib qw/TRUE FALSE/; use Gtk2 -init; # Code taken from Perl Gtk2 tutorial with some modifications... # http://gtk2-perl.sourceforge.net/doc/gtk2-perl-tut/sec-Statusbars.html my $window = Gtk2::Window->new('toplevel'); $window->set_size_request(200, 100); $window->set_title("gtk2-perl Statusbar Example"); $window->signal_connect(delete_event => sub { Gtk2->main_quit; FALSE; }); my $vbox = Gtk2::VBox->new(FALSE, 1); $window->add($vbox); $vbox->show; my $status_bar = Gtk2::Statusbar->new; $vbox->pack_start($status_bar, TRUE, TRUE, 0); $status_bar->show; $status_bar->{count} = 1; my $context_id = $status_bar->get_context_id("Statusbar example"); my $button = Gtk2::Button->new("push item"); $button->signal_connect(clicked => sub { $status_bar->push($context_id, sprintf("Starting... Item %d", $status_bar->{count}++)); sleep 10; # some lenghty task $status_bar->pop($context_id); }); $vbox->pack_start($button, TRUE, TRUE, 2); $button->show; $window->show; Gtk2->main;