--- Emerge-Progress_0.1.11.perl 2006-02-22 21:57:55.000000000 +0100 +++ Emerge-Progress_0.1.12.perl 2006-02-27 17:14:02.317102098 +0100 @@ -5,6 +5,9 @@ use Gtk2 '-init'; use Gtk2::Helper; use Gtk2::GladeXML; +use locale; +use POSIX qw(locale_h); +setlocale(LC_NUMERIC, "C"); use strict; use FileHandle; use Data::Dumper; # for debugging purposes @@ -283,6 +286,8 @@ my $path; my $iter; $status = &status_package($package_list[$testi + 2]); + my $eta = &eta($package_list[$testi],$status); + if($eta) { $status = "$status ETA: $eta"; } if(defined($testi)) { my $path = Gtk2::TreePath->new_from_string($pathi); @@ -347,6 +352,23 @@ } } +sub eta +{ + my $start_time = $_[0]; + my $p = $_[1]; + my $t = time(); + my $tt; + if(defined($p)) + { + $p = (split /%/, $p)[0]; + my $ss = ($t - $start_time); # time since start + my $per_sec = ($p / $ss); # percent per second + if($per_sec > 0) { $tt = ((100 - $p) / ($per_sec)); } # estimated time until 100% + else { return 0; } + return &gettime($tt); + } +} + sub prosent { return 0 unless $_[0];