… | |
… | |
3701 | sub update_timer { |
3701 | sub update_timer { |
3702 | my ($self) = @_; |
3702 | my ($self) = @_; |
3703 | |
3703 | |
3704 | return unless $self->{timer}; |
3704 | return unless $self->{timer}; |
3705 | |
3705 | |
|
|
3706 | $self->{timer}->stop; |
3706 | if ($self->{visible}) { |
3707 | if ($self->{visible}) { |
3707 | $self->{timer}->set ( |
3708 | $self->{timer}->set ( |
3708 | $self->{anim_start} |
3709 | $self->{anim_start} |
3709 | + $self->{animspeed} |
3710 | + $self->{animspeed} |
3710 | * int 1.5 + (EV::now - $self->{anim_start}) / $self->{animspeed} |
3711 | * int 1.5 + (EV::now - $self->{anim_start}) / $self->{animspeed} |
3711 | ); |
3712 | ); |
3712 | $self->{timer}->start; |
3713 | $self->{timer}->start; |
3713 | } else { |
|
|
3714 | $self->{timer}->stop; |
|
|
3715 | } |
3714 | } |
3716 | } |
3715 | } |
3717 | |
3716 | |
3718 | sub update_face { |
3717 | sub update_face { |
3719 | my ($self) = @_; |
3718 | my ($self) = @_; |
… | |
… | |
4181 | values %{ $self->{item} }; |
4180 | values %{ $self->{item} }; |
4182 | |
4181 | |
4183 | while (my ($k, $v) = each %{ $self->{item} }) { |
4182 | while (my ($k, $v) = each %{ $self->{item} }) { |
4184 | delete $self->{item}{$k} if $v->{timeout} < $NOW; |
4183 | delete $self->{item}{$k} if $v->{timeout} < $NOW; |
4185 | } |
4184 | } |
4186 | |
|
|
4187 | $self->{timer}->set (1, 1); |
|
|
4188 | |
4185 | |
4189 | my @widgets; |
4186 | my @widgets; |
4190 | |
4187 | |
4191 | my @items = sort { |
4188 | my @items = sort { |
4192 | $a->{pri} <=> $b->{pri} |
4189 | $a->{pri} <=> $b->{pri} |