need help finding a pop up example

T

ToddAndMargo

Hi All,

I am a bit new to Perl. (My experience is with Modula2
and Linux bash script.)

I need to write a win32 Perl program that will 1) pop up
a windows with a message to the user, 2) only appear in the
task bar when it pops up, and 3) blink (read: annoy the user)
its block on the task bar until the user dismisses the
message.

Can some kind person point me to an appropriate
example? (I love all the examples, but am a bit
overwhelmed by the quantity of them!)


Many thanks,
--T
 
Z

zentara

Hi All,

I am a bit new to Perl. (My experience is with Modula2
and Linux bash script.)

I need to write a win32 Perl program that will 1) pop up
a windows with a message to the user, 2) only appear in the
task bar when it pops up, and 3) blink (read: annoy the user)
its block on the task bar until the user dismisses the
message.

Can some kind person point me to an appropriate
example? (I love all the examples, but am a bit
overwhelmed by the quantity of them!)
Many thanks,
--T

First, I don't use windows, but.....

Check out Win32::GUI::NotifyIcon.

Here is a script (not written by me ). I think I saw this
on http://perlmonks.org
It may help you get started.


#!/usr/bin/perl
use warnings;
use strict;

#The function name is defined as "Win32::GUI::NotifyIcon".
#You will need to be carefull about the order of your sub...
#Here a sample script to let's you see, just choose a nice win32 ico and
#name it god.ico in the same dir from where you will launch this script:
#---------------

BEGIN{
use Win32::Console;
Win32::Console::Free();
}

use Win32::GUI;
use Tk;

$mw = MainWindow -> new;
$mw -> wm('geometry', '0x0+0+0');
$mw->overrideredirect(1);
&do_win32_stuff;
MainLoop;

#--------------------------------

sub do_win32_stuff{

$mw_win32 = new Win32::GUI::DialogBox(
-width => 0,
-height => 0,
-name => 'MainWindow');

$icon = new Win32::GUI::Icon('god.ico');

new Win32::GUI::NotifyIcon(
$mw_win32,
-name => "Notify",
-id => 1,
-icon => $icon,
-tip => "I\'am in the Systray!");

$call = Win32::GUI::Dialog();

$mw_win32->Notify->Delete(-id => 1);

sub Notify_Click{
&my_menu;
}
}

#--------------------------------

sub my_menu{
$popup = $mw->Menu(Name => 'popupMenu', -tearoff => 0);
$popup->command(-label => 'Number 1',-command => [\&do_label,1] );
$popup->command(-label => 'Number 2',-command => [\&do_label,2]);
$popup->separator;
$popup->command(-label => 'Number 3', -command => [\&do_label,3]);
$popup->command(-label => 'Number 4', -command => [\&do_label,4]);
$popup->command(-label => 'Number 5', -command => [\&do_label,5]);
$popup->separator;
$popup->command(-label => 'Quit', -command => [ \&stop]);
$popup->Popup(-popover => 'cursor', -popanchor => 'nw');
}

#--------------------------------

sub stop{
exit;
}

#--------------------------------

sub do_label{
if(Exists($top)){
$label-> configure(-text => "I\'am $_[0]");
} else {
$top = $mw ->Toplevel;
$top->title(" Numbers");
$top->focus;
$label = $top->Label (-text => "I\'am $_[0]",
-relief => 'groove',
-width => '24')->pack;
}
}
__END__
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,795
Messages
2,569,644
Members
45,358
Latest member
TreyTritt8

Latest Threads

Top