From da538bcfe3cd112cce09544afeeb0a907f85db1f Mon Sep 17 00:00:00 2001 From: Thierry Vignaud Date: Fri, 21 Mar 2008 19:29:10 +0000 Subject: (setState) do not show icon while checking if previously hidden --- mdkapplet | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'mdkapplet') diff --git a/mdkapplet b/mdkapplet index a24697d2..3ac861e0 100755 --- a/mdkapplet +++ b/mdkapplet @@ -27,6 +27,7 @@ use lib qw(/usr/lib/libDrakX); use standalone; # for explanations use common; use run_program; +use feature 'state'; BEGIN { unshift @::textdomains, 'mdkonline' } @@ -427,12 +428,19 @@ sub shouldStart() { sub setState { my ($state) = @_; my $checkme; + state $previous_state; my $arr = $state{$state}{menu}; my $tmp = gtkcreate_pixbuf($state{$state}{colour}[0]); $icon->set_from_pixbuf($tmp); $icon->set_tooltip(formatAlaTeX(translate($state{$state}{tt}[0]))); my @invisible_states = qw(delayed okay); $icon->set_visible(!member($state, @invisible_states)); + + # do not show icon while checking if previously hidden: + $icon->set_visible(0) if $state eq 'busy' && member($previous_state, @invisible_states); + + $previous_state = $state; + gtkflush(); # so that bubbles are displayed on right icon if ($state{$state}{tt}[0] && $icon->isa('Gtk2::StatusIcon') && !$state{$state}{do_not_use_bubble}) { -- cgit v1.2.1