i3status - Default to acpitz(4) instead of cpu(4) for OpenBSD temperature readings
The acpitz(4) values are eventually used by the kernel to determine if the machine is getting too hot.
This commit is contained in:
parent
ed03d2450c
commit
1c2517a399
@ -31,9 +31,11 @@ enum { O_DZEN2, O_XMOBAR, O_I3BAR, O_NONE } output_format;
|
||||
* Due to the fact there are various ways to obtain a temperature reading, THERMAL_ZONE will need
|
||||
* to be adjustable enough for those situations. As it can either be hw.sensors.cpu%d.temp0, or
|
||||
* hw.sensors.acpitz%d.temp0 or even something different entirely within hw.sensors.%s.temp0.
|
||||
* XXX: For now just check cpu%d.temp0. Adjust this later.
|
||||
* XXX:
|
||||
* Due to the fact the i3status API only allows to set the THERMAL_ZONE parameter to an integer,
|
||||
* we can't make this fully configureable (yet?).
|
||||
*/
|
||||
#define THERMAL_ZONE "cpu%d"
|
||||
#define THERMAL_ZONE "acpitz%d"
|
||||
|
||||
#endif
|
||||
|
||||
|
@ -88,19 +88,20 @@ void print_cpu_temperature_info(yajl_gen json_gen, char *buffer, int zone, const
|
||||
goto error;
|
||||
}
|
||||
/*
|
||||
* 'path' is actually the node within the full path (eg, cpu0).
|
||||
* 'path' is actually the node within the full path (currently always acpitz0).
|
||||
* XXX: Extend the API to allow a string instead of just an int for path, this would
|
||||
* allow us to have a path of 'acpitz0' for example.
|
||||
* allow us to build an arbitrary path.
|
||||
*/
|
||||
if (strncmp(sensordev.xname, path, strlen(path)) == 0) {
|
||||
mib[3] = SENSOR_TEMP;
|
||||
for (numt = 0; numt < sensordev.maxnumt[SENSOR_TEMP]; numt++) {
|
||||
mib[4] = numt;
|
||||
if (sysctl(mib, 5, &sensor, &slen, NULL, 0) == -1) {
|
||||
if (errno != ENOENT)
|
||||
if (errno != ENOENT) {
|
||||
warn("sysctl");
|
||||
continue;
|
||||
}
|
||||
}
|
||||
outwalk += sprintf(outwalk, "%.2f", (sensor.value - 273150000) / 1000000.0 );
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user