Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 1469af0fb1f2c1bd657234c8185e1be4 > files > 11

perl-Gtk2-TrayManager-0.50.0-1mdv2010.0.i586.rpm

#!/usr/bin/perl
use Gtk2 -init;
use Gtk2::TrayManager;
use Data::Dumper;
use strict;

my $screen = Gtk2::Gdk::Screen->get_default;

if (Gtk2::TrayManager->check_running($screen)) {
	print STDERR "A tray manager is already running, sorry!\n";
	exit 256;
}

my $window = Gtk2::Window->new;
$window->add(Gtk2::VBox->new);
$window->set_resizable(0);

my $tray = Gtk2::TrayManager->new;
$tray->manage_screen($screen);
$tray->set_orientation('vertical');

$tray->signal_connect('tray_icon_added', sub {
	$window->child->add($_[1]);
	$_[1]->show_all;
});

$tray->signal_connect('tray_icon_removed', sub {
	$window->child->remove($_[1]);
});

$tray->signal_connect('message_sent', sub { print "message_sent\n" . Dumper(\@_) });
$tray->signal_connect('message_cancelled', sub { print "message_cancelled\n" . Dumper(\@_) });
$tray->signal_connect('lost_selection', sub { print "lost_selection\n" . Dumper(\@_) });

$window->show_all;

Gtk2->main;