For Programmers: Free Programming Magazines  


Home > Archive > PERL Miscellaneous > September 2006 > need help finding a pop up example









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author need help finding a pop up example
ToddAndMargo@gbis.com

2006-09-30, 3:59 am

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

zentara

2006-09-30, 7:59 am

On 29 Sep 2006 21:34:45 -0700, ToddAndMargo@gbis.com wrote:

>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__





--
I'm not really a human, but I play one on earth.
http://zentara.net/japh.html
Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2008 codecomments.com