diff options
author | dakkar <dakkar@thenautilus.net> | 2013-05-07 14:24:53 +0100 |
---|---|---|
committer | dakkar <dakkar@thenautilus.net> | 2013-05-07 14:51:47 +0100 |
commit | 125d53e50998915e17df5593f78955f0f7355278 (patch) | |
tree | f6f659d858356e0e108c2f1c077e6ead931f8540 /script | |
parent | move to single file (diff) | |
download | battery-125d53e50998915e17df5593f78955f0f7355278.tar.gz battery-125d53e50998915e17df5593f78955f0f7355278.tar.bz2 battery-125d53e50998915e17df5593f78955f0f7355278.zip |
move up one dir
Diffstat (limited to 'script')
-rwxr-xr-x | script/battery | 75 |
1 files changed, 0 insertions, 75 deletions
diff --git a/script/battery b/script/battery deleted file mode 100755 index 2348d6a..0000000 --- a/script/battery +++ /dev/null @@ -1,75 +0,0 @@ -#!/home/dakkar/perl5/perlbrew/perls/perl-5.16.3/bin/perl -use strict; -use warnings; -use 5.016; -use Gtk2 -init; - -my $window = Gtk2::Window->new('toplevel'); -$window->set_accept_focus(0); -$window->set_decorated(0); -$window->set_has_frame(0); -$window->set_skip_pager_hint(1); -$window->set_skip_taskbar_hint(1); -$window->set_type_hint('utility'); -$window->set_default_size(300,25); -$window->set_resizable(1); -$window->set_name('dakkar-battery'); -$window->set_wmclass('dakkar-battery','dakkar-battery'); - -my $bar = Gtk2::ProgressBar->new(); -$bar->set_orientation('left-to-right'); -$bar->set_name('dakkar-battery-bar'); - -$window->add($bar); - -$window->signal_connect(delete_event => \&quit); - -Glib::Timeout->add(1000,\&update); - -sub quit { - Gtk2->main_quit; -} - -sub get_battery_stats { - open my $fh,'<','/sys/class/power_supply/BAT1/uevent'; - my %ret; - while (my $line=<$fh>) { - chomp $line; - my ($name,$value) = $line =~ m{\A POWER_SUPPLY_(.*?) = (.*) \z}x; - $ret{lc($name)}=$value; - } - return \%ret; -} - -sub _format_time { - my ($t) = @_; - my $h=int($t); - my $m=int(($t-$h)*60); - return sprintf q{%dh%02d},$h,$m; -} - -sub update { - my $bs=get_battery_stats; - my $e=$bs->{energy_now}/$bs->{energy_full}; - my $txt=''; - if ($bs->{power_now}) { - my $t=$bs->{energy_now}/$bs->{power_now}; - my $tot=$bs->{energy_full}/$bs->{power_now}; - $txt = sprintf '%s/%s ', - _format_time($t), - _format_time($tot); - $bar->set_fraction($t/$tot); - } - else { - $bar->set_fraction($e); - } - $txt .= sprintf '%.0f%%', 100*$e; - - $bar->set_text($txt); - - return 1; -} - -$window->show_all; - -Gtk2->main; |