--- xfce4-sensors-plugin-1.3.0/lib/lmsensors.c.orig 2018-07-25 14:15:46.804000000 +0200 +++ xfce4-sensors-plugin-1.3.0/lib/lmsensors.c 2018-07-25 14:28:54.328000000 +0200 @@ -170,6 +170,41 @@ ptr_chipfeature->max_value = sensorFeature; break; + case SENSORS_FEATURE_POWER: + ptr_chipfeature->class = POWER; + ptr_chipfeature->min_value = 0.0; + ptr_chipfeature->max_value = 120.0; + + if ((sub_feature = sensors_get_subfeature (c_ptr_sensors_chip_name, c_ptr_sensors_feature, + SENSORS_SUBFEATURE_POWER_MAX)) && + !sensors_get_value (c_ptr_sensors_chip_name, address_chipfeature, &sensorFeature)) + ptr_chipfeature->max_value = sensorFeature; + + break; + + case SENSORS_FEATURE_ENERGY: + ptr_chipfeature->class = ENERGY; + ptr_chipfeature->min_value = 0.0; + ptr_chipfeature->max_value = 120.0; + break; + + case SENSORS_FEATURE_CURR: + ptr_chipfeature->class = CURRENT; + ptr_chipfeature->min_value = 0.0; + ptr_chipfeature->max_value = 100.0; + + if ((sub_feature = sensors_get_subfeature (c_ptr_sensors_chip_name, c_ptr_sensors_feature, + SENSORS_SUBFEATURE_CURR_MIN)) && + !sensors_get_value (c_ptr_sensors_chip_name, address_chipfeature, &sensorFeature)) + ptr_chipfeature->min_value = sensorFeature; + + if ((sub_feature = sensors_get_subfeature (c_ptr_sensors_chip_name, c_ptr_sensors_feature, + SENSORS_SUBFEATURE_CURR_MAX)) && + !sensors_get_value (c_ptr_sensors_chip_name, address_chipfeature, &sensorFeature)) + ptr_chipfeature->max_value = sensorFeature; + + break; + case SENSORS_FEATURE_VID: ptr_chipfeature->class = VOLTAGE; ptr_chipfeature->min_value = 1.0; @@ -305,6 +340,18 @@ sub_feature = sensors_get_subfeature (name, feature, SENSORS_SUBFEATURE_BEEP_ENABLE); break; + case SENSORS_FEATURE_POWER: + sub_feature = sensors_get_subfeature (name, feature, + SENSORS_SUBFEATURE_POWER_INPUT); + break; + case SENSORS_FEATURE_ENERGY: + sub_feature = sensors_get_subfeature (name, feature, + SENSORS_SUBFEATURE_ENERGY_INPUT); + break; + case SENSORS_FEATURE_CURR: + sub_feature = sensors_get_subfeature (name, feature, + SENSORS_SUBFEATURE_CURR_INPUT); + break; default: sub_feature = sensors_get_subfeature (name, feature, SENSORS_SUBFEATURE_UNKNOWN); --- xfce4-sensors-plugin-1.3.0/lib/sensors-interface-common.c.orig 2018-07-25 14:30:05.536000000 +0200 +++ xfce4-sensors-plugin-1.3.0/lib/sensors-interface-common.c 2018-07-25 14:31:12.704000000 +0200 @@ -155,10 +155,18 @@ *dptr_str_formattedvalue = g_strdup_printf(_("%+.3f V"), val_sensorfeature); break; + case CURRENT: + *dptr_str_formattedvalue = g_strdup_printf(_("%+.3f A"), val_sensorfeature); + break; + case ENERGY: *dptr_str_formattedvalue = g_strdup_printf(_("%.0f mWh"), val_sensorfeature); break; + case POWER: + *dptr_str_formattedvalue = g_strdup_printf(_("%.0f W"), val_sensorfeature); + break; + case STATE: if (val_sensorfeature==0.0) *dptr_str_formattedvalue = g_strdup (_("off")); --- xfce4-sensors-plugin-1.3.0/include/types.h.orig 2018-07-25 14:27:17.584000000 +0200 +++ xfce4-sensors-plugin-1.3.0/include/types.h 2018-07-25 14:27:42.872000000 +0200 @@ -89,6 +89,8 @@ SPEED, ENERGY, STATE, + POWER, + CURRENT, OTHER } t_chipfeature_class;