#!/usr/bin/perl -w #use strict; use Win32::GUI; use Mail::POP3Client; $main_window = new Win32::GUI::Window( -minsize => [0, 0], -maxsize => [0, 0], -minwidth => 0, -minheight => 0, -maxwidth => 0, -maxheight => 0 ); $tray_icon_file_mail_no = new Win32::GUI::Icon("roll.ico") || die "unable to open icon file: $!\n"; $tray_icon_file_mail_yes = new Win32::GUI::Icon("popme.ico") || die "unable to open icon file: $!\n"; main(); ######################## sub Check_Mail { my $pop = new Mail::POP3Client( USER => "user", PASSWORD => "sn1ffm3", HOST => "my.pop.host", AUTH_MODE => 'PASS', DEBUG => 0 ); open (TEMP, ">mail.tmp") or die "Cannot open temp file mail.tmp: $!\n"; my $b = $pop->Count(); for (my $i = 1; $i <= $b; $i++) { foreach ( $pop->Head( $i ) ) { /^From:\s+/i and print $_, "\n" and print TEMP "$_\n"; /^Subject:\s+/i and print $_, "\n" and print TEMP "$_\n"."***\n"; } } close TEMP; $pop->Close(); } ####################### sub Yes_Mail { ##Win32::GUI::NotifyIcon::Delete($main_window, $main_window->TrayIconMailNo->{-id}); ##Win32::GUI::DestroyIcon($tray_icon_file_mail_no); $main_window->{'TrayIconMailNo'}->DESTROY(); $main_window->AddNotifyIcon ( -icon => $tray_icon_file_mail_yes, -id => "1", -name => "TrayIconMailYes", -tip => "LupoX POP3 Notifier(TM) - YOU HAVE MAIL" ); sub TrayIconMailYes_Click() { #Win32::GUI::NotifyIcon::Delete($main_window, $main_window->TrayIconMailYes->{-id}); #Win32::GUI::DestroyIcon($tray_icon_file_mail_yes); $main_window->{'TrayIconMailYes'}->DESTROY(); main(); print "left_clicked - and mail checked.\n"; } sub TrayIconMailYes_RightClick() { $main_window->{'TrayIconMailYes'}->DESTROY(); print "right_clicked - mail yes.\n"; return(0); } Win32::GUI::Dialog(); } sub main { $main_window->AddNotifyIcon ( -icon => $tray_icon_file_mail_no, -id => "0", -name => "TrayIconMailNo", -tip => "LupoX POP3 Notifier(TM)" ); sub TrayIconMailNo_Click() { Check_Mail(); print "right_clicked - and mail checked.\n"; open (TEMP2, "; close TEMP2; my $nr = @mailinfo; if ($nr != 0) { Yes_Mail(); } } sub TrayIconMailNo_RightClick() { Check_Mail(); print "right_clicked - and mail checked.\n"; open (TEMP2, "; close TEMP2; my $nr = @mailinfo; if ($nr != 0) { Yes_Mail(); } } sub TrayIconMailNo_MouseEvent($) { my $msg = shift; #print "mouse_event: $msg\n"; # 512 mouse over icon if ($msg == 512) { print "mouse over icon\n"; } elsif ($msg == 513) { print "left button clicked\n"; } elsif ($msg == 514) { print "left button released\n"; } elsif ($msg == 515) { print "left button doubleclicked\n"; } elsif ($msg == 516) { print "right button clicked\n"; } elsif ($msg == 517) { print "right button released\n"; } elsif ($msg == 518) { print "right button doubleclicked\n"; } elsif ($msg == 519) { print "middle button clicked\n"; } elsif ($msg == 520) { print "middle button released\n"; } elsif ($msg == 521) { print "middle button doubleclicked\n"; } else { print "unknown event: $msg\n"; } # 513 left click # 514 left released # 515 left double click # 516 right click # 517 right released # 518 right double click # 519 middle click # 520 middle released # 521 middle double click } Win32::GUI::Dialog(); }