X-Git-Url: http://git.shiar.net/barcat.git/blobdiff_plain/e71fe5ab1a908a940a83a38e81e390c7bb5c61c1..509cc3176a1ab80da8cd02badcd6fc6064d41e25:/barcat diff --git a/barcat b/barcat index 2339bc7..62c1dbc 100755 --- a/barcat +++ b/barcat @@ -57,6 +57,7 @@ GetOptions(\%opt, 'indicators:s', 'palette=s' => sub { $opt{palette} = { + '' => [], fire => [qw( 90 31 91 33 93 97 96 )], fire256=> [map {"38;5;$_"} qw( 235 52 88 124 160 196 @@ -75,7 +76,11 @@ GetOptions(\%opt, (map { 201 - $_ } 0..4), # -b 196, ], - }->{$_[1]} // [ split /[^0-9;]/, $_[1] ]; + }->{$_[1]} // do { + my @vals = split /[^0-9;]/, $_[1] + or die "Empty palette resulting from \"$_[1]\"\n"; + \@vals; + }; }, 'stat|s!', 'signal-stat=s', @@ -280,13 +285,13 @@ say( while ($nr <= $limit) { my $val = $values[$nr]; - my $rel = length $val && $range && ($val - $minval) / $range; + my $rel = length $val && $range && min(1, ($val - $minval) / $range); my $color = !length $val || !$opt{palette} ? undef : $val == $order[0] ? $opt{palette}->[-1] : # max $val == $order[-1] ? $opt{palette}->[0] : # min $opt{palette}->[ $rel * ($#{$opt{palette}} - 1) + 1 ]; my $indicator = $opt{indicators} && $opt{indicators}->[ - !$val || !$#{$opt{indicators}} ? 0 : # blank + !length($val) || !$#{$opt{indicators}} ? 0 : # blank $#{$opt{indicators}} < 2 ? 1 : $val >= $order[0] ? -1 : $rel * ($#{$opt{indicators}} - 1e-14) + 1