X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=bin%2Fbattery.pl;h=c7e812ea505798b07702cd6e5567be56c58b8991;hb=HEAD;hp=d5aced9064668c417d6cce92ff379a7ecc9a2747;hpb=c8130516df49b6c239a08240a10cf8a05cd3a399;p=config%2Fdotfiles.git diff --git a/bin/battery.pl b/bin/battery.pl deleted file mode 100755 index d5aced9..0000000 --- a/bin/battery.pl +++ /dev/null @@ -1,90 +0,0 @@ -#!/usr/bin/perl - -# Copyright (C) 2011-2013 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; - - -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 (not -e $path) { - print STDERR "'$path' not found.\n"; - exit 1; -} - -my $screen_mode = ($ARGV[0] eq '-s'); -my $tmux_mode = ($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"; -}