sub create_systray_icon { $win32_mw = Win32::GUI::Window->new ( -title => 'tkruler', -left => 100, -top => 100, -width => 150, -height => 100, -name => 'MainWindow', -visible => 0 ); my $icon; foreach my $d (@INC) { if (-r "$d/tkruler.ico") { my $icon = Win32::GUI::Icon->new("$d/tkruler.ico"); last if ($icon); } } if ($icon) { $win32_mw->AddNotifyIcon(-icon => $icon, -id => 1010, -name => 'systray', -tip => 'tkruler', ); } else { warn "Can't find tkruler.ico in @INC for systray icon"; } } sub systray_Click { $top->deiconify; $top->raise; } sub systray_RightClick { if ($top->state eq 'withdrawn') { $top->deiconify; $top->raise; } else { $top->withdraw; } }