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]