X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=bin%2Fbattery.pl;h=c7e812ea505798b07702cd6e5567be56c58b8991;hb=HEAD;hp=0bdaae04c1d8829a33a0edaf2e8a4fb709ae5289;hpb=77e20192f619f168bd22c09757dc09580e533cea;p=config%2Fdotfiles.git diff --git a/bin/battery.pl b/bin/battery.pl deleted file mode 100755 index 0bdaae0..0000000 --- a/bin/battery.pl +++ /dev/null @@ -1,79 +0,0 @@ -#!/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; - - -my $path = '/sys/class/power_supply/BAT0/uevent'; - -# No battery available. -if (! -e $path) { - 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 or die $!; -while (<$file>) { - /^POWER_SUPPLY_([A-Z_]+)=(.+)$/; - $battery{$1} = $2; -} -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. -if ($screen_mode) { - my $color; - if ($charge < 20) { - $color = 'b r'; - } elsif ($charge < 40) { - $color = 'b y'; - } else { - $color = 'b g'; - } - - print "\005{+$color}$charge%\005{-}\n"; - -# 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"; -}