mirror of
https://github.com/morgan9e/gnome-shell-extension-freon
synced 2026-04-14 00:14:14 +09:00
sensorsUtil: read drivetemp sensors as disk temperature sensors (#217)
This commit is contained in:
@@ -358,9 +358,9 @@ const FreonMenuButton = GObject.registerClass(class Freon_FreonMenuButton extend
|
||||
if (this._settings.get_boolean('show-voltage'))
|
||||
voltageInfo = this._utils.sensors.volt;
|
||||
|
||||
let driveTempInfo = [];
|
||||
let driveTempInfo = this._utils.sensors.disks;
|
||||
if(this._utils.disks && this._utils.disks.available) {
|
||||
driveTempInfo = this._utils.disks.temp;
|
||||
driveTempInfo = driveTempInfo.concat(this._utils.disks.temp);
|
||||
}
|
||||
|
||||
if (this._utils.liquidctl && this._utils.liquidctl.available) {
|
||||
@@ -381,7 +381,7 @@ const FreonMenuButton = GObject.registerClass(class Freon_FreonMenuButton extend
|
||||
let sum = 0;
|
||||
let max = 0;
|
||||
for (let i of tempInfo){
|
||||
if(i.temp !== null && i.temp > 0){
|
||||
if(i.temp !== null && i.temp >= 0){
|
||||
total++;
|
||||
sum += i.temp;
|
||||
if (i.temp > max)
|
||||
@@ -424,15 +424,13 @@ const FreonMenuButton = GObject.registerClass(class Freon_FreonMenuButton extend
|
||||
|
||||
if(sensorsTempInfo.length > 0 && this._settings.get_boolean('group-temperature')){
|
||||
sum = 0;
|
||||
let sensorsTempLength = 0
|
||||
for (let i of sensorsTempInfo){
|
||||
sum += i.temp;
|
||||
if(i.temp > 0) sensorsTempLength++;
|
||||
}
|
||||
sensors.push({
|
||||
type:'temperature-group',
|
||||
label:'temperature-group',
|
||||
value: this._formatTemp(sum / sensorsTempLength)});
|
||||
value: this._formatTemp(sum / sensorsTempInfo.length)});
|
||||
}
|
||||
|
||||
for (let fan of fanInfo){
|
||||
|
||||
@@ -37,30 +37,26 @@ var SensorsUtil = class extends CommandLineUtil.CommandLineUtil {
|
||||
}
|
||||
|
||||
get temp() {
|
||||
return this._parseGenericSensorsOutput(/^temp\d+_input/, 'temp');
|
||||
return this._parseSensorsOutput(/^temp\d+_input/, 'temp', 'generic');
|
||||
}
|
||||
|
||||
get gpu() {
|
||||
return this._parseGpuSensorsOutput(/^temp\d+_input/, 'temp');
|
||||
return this._parseSensorsOutput(/^temp\d+_input/, 'temp', 'gpu');
|
||||
}
|
||||
|
||||
get disks() {
|
||||
return this._parseSensorsOutput(/^temp\d+_input/, 'temp', 'disk');
|
||||
}
|
||||
|
||||
get rpm() {
|
||||
return this._parseGenericSensorsOutput(/^fan\d+_input/, 'rpm');
|
||||
return this._parseSensorsOutput(/^fan\d+_input/, 'rpm', 'generic');
|
||||
}
|
||||
|
||||
get volt() {
|
||||
return this._parseGenericSensorsOutput(/^in\d+_input/, 'volt');
|
||||
return this._parseSensorsOutput(/^in\d+_input/, 'volt', 'generic');
|
||||
}
|
||||
|
||||
_parseGenericSensorsOutput(sensorFilter, sensorType) {
|
||||
return this._parseSensorsOutput(sensorFilter, sensorType, false);
|
||||
}
|
||||
|
||||
_parseGpuSensorsOutput(sensorFilter, sensorType) {
|
||||
return this._parseSensorsOutput(sensorFilter, sensorType, true);
|
||||
}
|
||||
|
||||
_parseSensorsOutput(sensorFilter, sensorType, gpuFlag) {
|
||||
_parseSensorsOutput(sensorFilter, sensorType, sensorFamily) {
|
||||
if(!this._data)
|
||||
return [];
|
||||
|
||||
@@ -68,8 +64,16 @@ var SensorsUtil = class extends CommandLineUtil.CommandLineUtil {
|
||||
|
||||
let sensors = [];
|
||||
for (var chipset in data) {
|
||||
let tempType = (sensorType === 'temp')
|
||||
|
||||
let gpuFilter = /(radeon|amdgpu|nouveau)/;
|
||||
if (!data.hasOwnProperty(chipset) || (gpuFlag != gpuFilter.test(chipset) && sensorType === 'temp'))
|
||||
let gpuFamily = (sensorFamily === 'gpu')
|
||||
if (!data.hasOwnProperty(chipset) || (gpuFamily != gpuFilter.test(chipset) && tempType))
|
||||
continue;
|
||||
|
||||
let diskFilter = /(drivetemp)/;
|
||||
let diskFamily = (sensorFamily === 'disk')
|
||||
if (!data.hasOwnProperty(chipset) || (diskFamily != diskFilter.test(chipset) && tempType))
|
||||
continue;
|
||||
|
||||
let chipsetSensors = data[chipset]
|
||||
|
||||
Reference in New Issue
Block a user