stack|s
}) or exit 1;
-$opt{stack} = 1 unless $opt{cancel} or $opt{overlay};
+$opt{overlay} = 1 unless $opt{cancel} or $opt{stack};
my @terminal = GetTerminalSize;
my $width = $terminal[0] - 11;
my $today = int (time / 86400);
for my $date ($today - $height .. $today) {
- my $add;
- my $del;
- my $mod;
+ my $add = 0;
+ my $del = 0;
+ my $mod = 0;
$add{$date} //= 0;
$del{$date} //= 0;
- if ($opt{cancel}) {
+ if ($opt{cancel} or $opt{overlay}) {
if ($add{$date} > $del{$date}) {
$add = $add{$date} - $del{$date};
- $del = $mod = 0;
} else {
$del = $del{$date} - $add{$date};
- $add = $mod = 0;
}
}
if ($opt{overlay}) {
- if ($add{$date} > $del{$date}) {
- $add = $add{$date} - $del{$date};
- $del = 0;
- $mod = $del{$date};
- } else {
- $del = $del{$date} - $add{$date};
- $add = 0;
- $mod = $add{$date};
- }
+ $mod = $add{$date} < $del{$date} ?
+ $add{$date} : $del{$date};
}
if ($opt{stack}) {
$add = $add{$date};
$del = $del{$date};
- $mod = 0;
}
my $greg = strftime "%b %d %w", localtime $date * 86400;
$greg =~ s{(\d)$}{substr "sMTWTFs", $1, 1}e;