[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
Re: Problem setting icon for Gtk2::StatusIcon
- From: zentara <zentara1 sbcglobal net>
- To: gtk-perl-list gnome org
- Subject: Re: Problem setting icon for Gtk2::StatusIcon
- Date: Mon, 2 Mar 2009 07:40:15 -0500
On Mon, 2 Mar 2009 13:33:54 +0100
January Weiner <january weiner gmail com> wrote:
>Hello,
>Problem:
> 1) when the icon is changed, the icon first disappears completely
>from the notification area, and then it appears again. Throughout this
>process, the notification area "flickers" (adapts to the removed /
>inserted icon).
> 2) sometimes the second (gtk-refresh) icon is not displayed at all,
>especially if the GUI is busy doing other things (ie. I am moving the
>cursor, typing, ...)
>
>What am I doing wrong?
>
>Here is example code that demonstrates (on my system...) the problem:
>
>#!/usr/bin/perl
>
>use strict ;
>use warnings ;
>use Gtk2 -init;
>
>my $status_icon = Gtk2::StatusIcon->new_from_stock('gtk-apply') ;
>my $timer = Glib::Timeout->add( 1000, \&update, $status_icon ) ;
>
>Gtk2->main() ;
>
>exit( 0 ) ;
>
>sub update {
> my $icon = shift ;
>
> $icon->set_from_stock('gtk-refresh') ;
> while( Gtk2->events_pending() ) { Gtk2->main_iteration() ; }
> sleep 5 ;
> $icon->set_from_stock('gtk-apply') ;
>
> return 1 ;
>}
Your script runs fine here, as is; BUT having a "sleep 5" in the main code
thread look awfully bad. It's almost a rule.....do not use sleep in an event loop system,
like Gtk2.
You probably should change your timeout value to 5000, and have your callback
change the image (toggle) , and get rid of the sleep.
zentara
--
I'm not really a human, but I play one on earth.
http://www.zentara.net/~zentaran/My_Petition_to_the_Great_Cosmic_Conciousness.html
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]