X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=bin%2Ftemperature.pl;h=42eaffe666eb0fe4fa1caf5f4f4ec45f2d11b9a8;hb=17e1c02c53c9083cf2201c6e4c8ac5d493738f42;hp=0063bf4ffb510aebf23faa243c6313c69b834ff0;hpb=6ef95354dbe642232b58ceeaf2283870aef34b2f;p=config%2Fdotfiles.git diff --git a/bin/temperature.pl b/bin/temperature.pl index 0063bf4..42eaffe 100755 --- a/bin/temperature.pl +++ b/bin/temperature.pl @@ -20,16 +20,27 @@ use strict; use warnings; -my $temperature_path = '/sys/devices/virtual/hwmon/hwmon0/temp1_input'; -my $critical_path = '/sys/devices/virtual/hwmon/hwmon0/temp1_crit'; +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/devices/platform/*.\n"; + exit 1; +} +if (scalar @ARGV == 1) { + @ARGV = ('', $ARGV[0]); +} + +my $temperature_path = "$ARGV[1]/temp1_input"; +my $critical_path = "$ARGV[1]/temp1_crit"; # No temperature information available. -if (! -e $temperature_path || ! -e $critical_path) { +if (not -e $temperature_path or not -e $critical_path) { + print STDERR "'$temperature_path' or '$critical_path' not found.\n"; exit 1; } -my $screen_mode = (defined $ARGV[0] and $ARGV[0] eq '-s'); -my $tmux_mode = (defined $ARGV[0] and $ARGV[0] eq '-t'); +my $screen_mode = ($ARGV[0] eq '-s'); +my $tmux_mode = ($ARGV[0] eq '-t'); my $temperature; my $critical; @@ -45,6 +56,8 @@ close $file or die $!; my $value = int($temperature / 1000); my $risk = ($critical - $temperature)/$critical; +$value .= "\xb0"; # degree symbol in UTF-8 + # GNU screen mode with colors. if ($screen_mode) { my $color;