diff --git a/WBM/Fail.pm b/WBM/Fail.pm new file mode 100644 index 0000000000000000000000000000000000000000..2b033dc40b87f5fc07f8f3d365921272f82f8b31 --- /dev/null +++ b/WBM/Fail.pm @@ -0,0 +1,47 @@ +package WBM::Fail; + +use v5.26; +use utf8; +use strict; +use warnings; + +use parent qw(WBM::Driver); +use feature qw(signatures); +no warnings qw(experimental::signatures); + +sub new($class, %args) { + my $self = $class->SUPER::new(%args); + + $self->log->fatal("missing 'text' parameter in constructor") + unless defined $args{text}; + + $self->{text} = $args{text}; + $self->{first} = 1; + return $self; +} + +sub refresh_on_event($self) { 1; } + +sub invoke($self) { + $self->log->info("invoked"); + my $ret = { + text => $self->{text}, + icon => "", + color => "dc322f", + cache => "+inf", + }; + + if ($self->{first}) { + $ret->{blink} = 30; + $ret->{invert} = "+inf"; + $self->{first} = 0; + } else { + $ret->{reset_all} = 1; + } + + return $ret; +} + +# vim: syntax=perl5-24 + +1;