X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=bin%2Fbattery.pl;h=9a6a9760b1705652953d0c40d454937538aefd62;hb=020f30113df431a611f9a6ec9d963f1da38bb8ec;hp=31501ac56d2b6b2c0416a5e9131656ad80d19e93;hpb=fb9ed9fba7a9d6acffa895de0a5ba9fd17514c40;p=config%2Fdotfiles.git diff --git a/bin/battery.pl b/bin/battery.pl index 31501ac..9a6a976 100755 --- a/bin/battery.pl +++ b/bin/battery.pl @@ -1,5 +1,20 @@ #!/usr/bin/perl +# Copyright (C) 2011-2012 Simon Ruderich +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + use strict; use warnings; @@ -9,19 +24,20 @@ my $path = '/sys/class/power_supply/BAT0/uevent'; # No battery available. if (! -e $path) { - exit; + 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 %battery; -open my $file, '<', $path; +open my $file, '<', $path or die $!; while (<$file>) { /^POWER_SUPPLY_([A-Z_]+)=(.+)$/; $battery{$1} = $2; } -close $file; +close $file or die $!; my $charge = int($battery{CHARGE_NOW} / $battery{CHARGE_FULL} * 100); @@ -38,7 +54,20 @@ if ($screen_mode) { print "\005{+$color}$charge%\005{-}\n"; -# Just text output. +# Same in tmux mode. +} elsif ($tmux_mode) { + my $color; + if ($charge < 20) { + $color = 'red'; + } elsif ($charge < 40) { + $color = 'yellow'; + } else { + $color = 'green'; + } + + print "#[fg=$color,bold]$charge%#[default]\n"; + +# Plain text output. } else { print "$charge%\n"; }