diff options
author | Karel Kočí <cynerd@email.cz> | 2022-06-25 20:08:57 +0200 |
---|---|---|
committer | Karel Kočí <cynerd@email.cz> | 2022-06-25 20:08:57 +0200 |
commit | 44fa0d9200d2a0e78e5d2cb5a849d370bc47e45c (patch) | |
tree | de358e64afa892a6374e662b32db6317bbeb80f9 /config/i3blocks/scripts/temperature | |
parent | c3cc932f4b1950b1633af02f510d47b9c19d0863 (diff) | |
download | myconfigs-44fa0d9200d2a0e78e5d2cb5a849d370bc47e45c.tar.gz myconfigs-44fa0d9200d2a0e78e5d2cb5a849d370bc47e45c.tar.bz2 myconfigs-44fa0d9200d2a0e78e5d2cb5a849d370bc47e45c.zip |
i3blocks: add missing scripts
Diffstat (limited to 'config/i3blocks/scripts/temperature')
-rwxr-xr-x | config/i3blocks/scripts/temperature | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/config/i3blocks/scripts/temperature b/config/i3blocks/scripts/temperature new file mode 100755 index 0000000..97579fb --- /dev/null +++ b/config/i3blocks/scripts/temperature @@ -0,0 +1,70 @@ +#!/usr/bin/env perl +# Copyright 2014 Pierre Mavro <deimos@deimos.fr> +# Copyright 2014 Vivien Didelot <vivien@didelot.org> +# Copyright 2014 Andreas Guldstrand <andreas.guldstrand@gmail.com> +# Copyright 2014 Benjamin Chretien <chretien at lirmm dot fr> + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +use strict; +use warnings; +use utf8; +use Getopt::Long; + +binmode(STDOUT, ":utf8"); + +# default values +my $t_warn = $ENV{T_WARN} || 70; +my $t_crit = $ENV{T_CRIT} || 90; +my $chip = $ENV{SENSOR_CHIP} || ""; +my $temperature = -9999; + +sub help { + print "Usage: temperature [-w <warning>] [-c <critical>] [--chip <chip>]\n"; + print "-w <percent>: warning threshold to become yellow\n"; + print "-c <percent>: critical threshold to become red\n"; + print "--chip <chip>: sensor chip\n"; + exit 0; +} + +GetOptions("help|h" => \&help, + "w=i" => \$t_warn, + "c=i" => \$t_crit, + "chip=s" => \$chip); + +# Get chip temperature +open (SENSORS, "sensors -u $chip 2>/dev/null |") or die; +while (<SENSORS>) { + if (/^\s+temp1_input:\s+[\+]*([\-]*\d+\.\d)/) { + $temperature = $1; + last; + } +} +close(SENSORS); + +$temperature eq -9999 and die 'Cannot find temperature'; + +# Print short_text, full_text +print "$temperature°C\n" x2; + +# Print color, if needed +if ($temperature >= $t_crit) { + print " + #FF0000\n"; + exit 33; +} elsif ($temperature >= $t_warn) { + print "#FFFC00\n"; +} + +exit 0; |