X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;ds=sidebyside;f=bin%2Fbattery.pl;h=0a802e8f31a7605dc37a2dbcfe28408c2dfe9f47;hb=9dd2f3603520a2f30bf1f4f814ca9fbe00b9504c;hp=9a6a9760b1705652953d0c40d454937538aefd62;hpb=6ef95354dbe642232b58ceeaf2283870aef34b2f;p=config%2Fdotfiles.git diff --git a/bin/battery.pl b/bin/battery.pl index 9a6a976..0a802e8 100755 --- a/bin/battery.pl +++ b/bin/battery.pl @@ -20,15 +20,26 @@ use strict; use warnings; -my $path = '/sys/class/power_supply/BAT0/uevent'; +if (scalar @ARGV != 1 and (scalar @ARGV != 2 or not $ARGV[0] =~ /-[st]/)) { + print STDERR "Usage: $0 [-s | -t] \n"; + print STDERR "\n"; + print STDERR "Normally this is /sys/class/power_supply/BAT*.\n"; + exit 1; +} +if (scalar @ARGV == 1) { + @ARGV = ('', $ARGV[0]); +} + +my $path = "$ARGV[1]/uevent"; # No battery available. -if (! -e $path) { +if (not -e $path) { + print STDERR "'$path' not found.\n"; exit 1; } -my $screen_mode = (defined $ARGV[0] and $ARGV[0] eq '-s'); -my $tmux_mode = (defined $ARGV[0] and $ARGV[0] eq '-t'); +my $screen_mode = ($ARGV[0] eq '-s'); +my $tmux_mode = ($ARGV[0] eq '-t'); my %battery; @@ -39,6 +50,12 @@ while (<$file>) { } close $file or die $!; +# New names ... +if (defined $battery{ENERGY_NOW}) { + $battery{CHARGE_NOW} = $battery{ENERGY_NOW}; + $battery{CHARGE_FULL} = $battery{ENERGY_FULL}; +} + my $charge = int($battery{CHARGE_NOW} / $battery{CHARGE_FULL} * 100); # GNU screen mode with colors: 0-20 red, 20-40 yellow, 40-100 green.