diff options
| author | pbuetow <puppet@mx.buetow.org> | 2012-07-04 18:28:13 +0200 |
|---|---|---|
| committer | pbuetow <puppet@mx.buetow.org> | 2012-07-04 18:28:13 +0200 |
| commit | 103ed622771688896728372f40997016aade144e (patch) | |
| tree | 1807b2fbd32b6153318c591267ebe2dba8331410 /lib | |
| parent | 30de92afbd65755536946b470d7ba225da78a68f (diff) | |
:
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/Loadbars/HelpDispatch.pm | 11 | ||||
| -rw-r--r-- | lib/Loadbars/Main.pm | 68 |
2 files changed, 60 insertions, 19 deletions
diff --git a/lib/Loadbars/HelpDispatch.pm b/lib/Loadbars/HelpDispatch.pm index 3ea0bdb..97216e2 100644 --- a/lib/Loadbars/HelpDispatch.pm +++ b/lib/Loadbars/HelpDispatch.pm @@ -103,6 +103,9 @@ END mode => 6, type => 's' }, + netint_hot => + { menupos => 17, cmd => 'n', help => 'Iterate to next net interface', mode => 1 }, + netlink => { menupos => 6, help => @@ -113,14 +116,14 @@ END netlink_hot_up => { menupos => 9, cmd => 'f', - help => 'Doubles net interface link speed reference', - mode => 1 + help => 'Doubles net interface link speed reference', + mode => 1 }, netlink_hot_dn => { menupos => 10, cmd => 'v', - help => 'Halfs net interface link speed reference', - mode => 1 + help => 'Halfs net interface link speed reference', + mode => 1 }, barwidth => { diff --git a/lib/Loadbars/Main.pm b/lib/Loadbars/Main.pm index e607573..e464059 100644 --- a/lib/Loadbars/Main.pm +++ b/lib/Loadbars/Main.pm @@ -307,6 +307,32 @@ sub net_link () { return $linkspeed; } +sub net_next_int ($;$) { + my ( $num, $initial_device_flag ) = @_; + my $int = undef; + + for ( ; ; ) { + my @ints = sort keys %NETSTATS_INT; + $int = $ints[ int( $num % @ints ) ] if @ints; + + unless ( defined $int ) { + sleep 0.1; + next; + } + + # On startup dont show a loopback device net interface + if ( defined $initial_device_flag && $int =~ /^lo/ ) { + $num++; + sleep 0.1; + next; + } + + last; + } + + return $int; +} + sub net_parse ($) { my ($line_r) = shift; my ( $a, $b ) = split ' ', $$line_r; @@ -440,6 +466,7 @@ sub loop ($@) { my %net_history_stamps; my %net_last_value; my $net_int_number = 0; + my $net_int = net_next_int $net_int_number, 1; my $net_max_bytes = net_link; @@ -477,10 +504,12 @@ sub loop ($@) { } elsif ( $key_name eq '3' ) { $C{shownet} = !$C{shownet}; - $net_int_number = 0; display_info "Toggled show net $C{shownet}"; - display_info "Net interface speed reference is " . ($net_max_bytes / $I{bytes_mbit}) . 'mbit/s' if $C{shownet}; - } + display_info "Net interface speed reference is " + . ( $net_max_bytes / $I{bytes_mbit} ) + . 'mbit/s' + if $C{shownet}; + } elsif ( $key_name eq 'e' ) { $C{extended} = !$C{extended}; @@ -495,13 +524,19 @@ sub loop ($@) { } elsif ( $key_name eq 'm' ) { - display_warn "Toggled show mem hotkey 'm' is deprecated. Please use '2' hotkey instead"; - + display_warn +"Toggled show mem hotkey 'm' is deprecated. Please use '2' hotkey instead"; } - elsif ( $key_name eq 'h' ) { - ++$net_int_number; - display_info "Using next net interface. To reset press '3' hotkey twice"; + elsif ( $key_name eq 'n' ) { + if ( $C{shownet} ) { + $net_int = net_next_int ++$net_int_number; + display_info "Using net interface which is $net_int"; + } + else { + display_warn +"Net stats are not activated. Press '3' hotkey to activate first"; + } } elsif ( $key_name eq 't' ) { @@ -560,11 +595,15 @@ sub loop ($@) { } elsif ( $key_name eq 'f' ) { $net_max_bytes *= 2; - display_info "Set net interface speed reference to " . ($net_max_bytes / $I{bytes_mbit}) . 'mbit/s'; + display_info "Set net interface speed reference to " + . ( $net_max_bytes / $I{bytes_mbit} ) + . 'mbit/s'; } - elsif ( $key_name eq 'v') { - $net_max_bytes = int($net_max_bytes / 2); - display_info "Set net interface speed reference to " . ($net_max_bytes / $I{bytes_mbit}) . 'mbit/s'; + elsif ( $key_name eq 'v' ) { + $net_max_bytes = int( $net_max_bytes / 2 ); + display_info "Set net interface speed reference to " + . ( $net_max_bytes / $I{bytes_mbit} ) + . 'mbit/s'; } elsif ( $key_name eq 'left' ) { @@ -807,8 +846,7 @@ sub loop ($@) { if ( $C{shownet} && exists $NETSTATS_HAS{$host} ) { $add_x += $width + 1; - my $int = $C{netint}; - my $key = "$host;$int"; + my $key = "$host;$net_int"; if ( exists $NETSTATS{$key} ) { @@ -902,7 +940,7 @@ sub loop ($@) { if ( $C{showtext} ) { my $y_ = 5; - $app->print( $x + $add_x, $y_, $int ); + $app->print( $x + $add_x, $y_, $net_int ); $app->print( $x + $add_x, $y_ += $sdl_font_height, 'Rxb:' ); $app->print( |
