refactor the mess into subs
This commit is contained in:
parent
ff1d80a7c2
commit
a532814e5e
1 changed files with 123 additions and 116 deletions
63
conky-disks
63
conky-disks
|
@ -39,20 +39,21 @@ sub magic_level {
|
|||
return $new_level;
|
||||
}
|
||||
|
||||
my $fs = Sys::Filesystem->new();
|
||||
my @filesystems = $fs->filesystems();
|
||||
sub conky_fs {
|
||||
my $fs = Sys::Filesystem->new();
|
||||
my @filesystems = $fs->filesystems();
|
||||
|
||||
# determine longest mount point path
|
||||
my $mlength = 5;
|
||||
for my $f (@filesystems) {
|
||||
# determine longest mount point path
|
||||
my $mlength = 5;
|
||||
for my $f (@filesystems) {
|
||||
my $mount_point = $fs->mount_point($f);
|
||||
|
||||
if (length($mount_point) > $mlength) {
|
||||
$mlength = length($mount_point);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for my $f (@filesystems) {
|
||||
for my $f (@filesystems) {
|
||||
my $mount_point = $fs->mount_point($f);
|
||||
my $format = $fs->format($f);
|
||||
|
||||
|
@ -86,23 +87,23 @@ for my $f (@filesystems) {
|
|||
$bfree/(1024*1024),
|
||||
$mount_point
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
# hddtemp
|
||||
sub conky_hddtemp {
|
||||
my $color_toocold = "#0000ff";
|
||||
my $color_toohot = "#ff0000";
|
||||
|
||||
my $color_toocold = "#0000ff";
|
||||
my $color_toohot = "#ff0000";
|
||||
|
||||
my $socket=IO::Socket::INET->new(
|
||||
my $socket=IO::Socket::INET->new(
|
||||
PeerAddr => 'localhost', PeerPort=> 7634,
|
||||
Proto => 'tcp', Type => $IO::Socket::SOCK_STREAM)
|
||||
or croak "Can't talk to hddtemp";
|
||||
my $hddtemp_output = <$socket>;
|
||||
close $socket;
|
||||
my $hddtemp_output = <$socket>;
|
||||
close $socket;
|
||||
|
||||
my @hddtemp_output = split /[|]/x, $hddtemp_output;
|
||||
my $diskcount = $#hddtemp_output/5;
|
||||
for (my $i = 0; $i < $diskcount; $i++) {
|
||||
my @hddtemp_output = split /[|]/x, $hddtemp_output;
|
||||
my $diskcount = $#hddtemp_output/5;
|
||||
for (my $i = 0; $i < $diskcount; $i++) {
|
||||
my $dev = $hddtemp_output[$i*5+1];
|
||||
my $temp = $hddtemp_output[$i*5+3];
|
||||
my $unit = $hddtemp_output[$i*5+4];
|
||||
|
@ -116,15 +117,16 @@ for (my $i = 0; $i < $diskcount; $i++) {
|
|||
|
||||
printf " \${color #98c2c7}%s\$color ", $dev;
|
||||
printf "\${color $color}%02.f°%s\$color\n", $temp, $unit;
|
||||
}
|
||||
}
|
||||
|
||||
# mdstat
|
||||
open my $fh, "<", "/proc/mdstat";
|
||||
my $md_current;
|
||||
my $md_current_state;
|
||||
my $md_current_mdstat;
|
||||
sub conky_mdstat {
|
||||
open my $fh, "<", "/proc/mdstat";
|
||||
my $md_current;
|
||||
my $md_current_state;
|
||||
my $md_current_mdstat;
|
||||
|
||||
sub print_md_current_state {
|
||||
my $print_md_current_state = sub {
|
||||
if (defined $md_current) {
|
||||
my $color = $color_ok;
|
||||
my $print_mdstat = 0;
|
||||
|
@ -149,14 +151,14 @@ sub print_md_current_state {
|
|||
$md_current_mdstat;
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
while (my $line = <$fh>) {
|
||||
while (my $line = <$fh>) {
|
||||
next if $line =~ /^Personalities\s*:/xsmi;
|
||||
next if $line =~ /^unused\sdevices\s*:/xsmi;
|
||||
|
||||
if ($line =~ /^(.*) : /) {
|
||||
print_md_current_state();
|
||||
&$print_md_current_state();
|
||||
|
||||
$md_current = $1;
|
||||
$md_current_state = undef;
|
||||
|
@ -168,8 +170,13 @@ while (my $line = <$fh>) {
|
|||
}
|
||||
|
||||
$md_current_mdstat .= $line;
|
||||
}
|
||||
close $fh;
|
||||
&$print_md_current_state();
|
||||
}
|
||||
close $fh;
|
||||
print_md_current_state();
|
||||
|
||||
conky_fs();
|
||||
conky_hddtemp();
|
||||
conky_mdstat();
|
||||
|
||||
# vim:textwidth=120:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue