From b01d095d6b123bcc7ed221cccf2c04295834cc84 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Orsini Date: Wed, 12 Sep 2012 07:46:54 +0000 Subject: [PATCH] display the name of chip in sensor preferences. moved the sensor id into a expendable frame of the sensor --- NEWS | 3 + src/glade/sensor-edit.glade | 221 +++++++++++++++++++++++++++++--------------- src/lib/amd.c | 2 +- src/lib/cpu.c | 2 +- src/lib/hdd_atasmart.c | 1 + src/lib/hdd_hddtemp.c | 3 +- src/lib/lmsensor.c | 14 ++- src/lib/nvidia.c | 1 + src/lib/psensor.c | 11 ++- src/lib/psensor.h | 7 +- src/lib/psensor_json.c | 1 + src/ui_sensorpref.c | 9 +- 12 files changed, 191 insertions(+), 84 deletions(-) diff --git a/NEWS b/NEWS index 4581b06..c228de6 100644 --- a/NEWS +++ b/NEWS @@ -8,6 +8,9 @@ ** psensor: added an option to enable logging of sensors ($HOME/.psensor/sensors.log). ** psensor-server: added sensors logging (--sensor-log-file). +** psensor: display the name of chip in sensor preferences. +** psensor: moved the sensor id into a expendable frame of the sensor + preferences. * v0.7.0.3 diff --git a/src/glade/sensor-edit.glade b/src/glade/sensor-edit.glade index 8141919..1b3ec37 100644 --- a/src/glade/sensor-edit.glade +++ b/src/glade/sensor-edit.glade @@ -92,41 +92,9 @@ True False - 13 + 15 2 - - True - False - 0 - N/A - - - 1 - 2 - 1 - 2 - 4 - 4 - - - - - True - False - 0 - 10 - Name: - - - 3 - 4 - GTK_FILL - 4 - 4 - - - True True @@ -138,8 +106,8 @@ 1 2 - 3 - 4 + 1 + 2 4 4 @@ -149,7 +117,9 @@ True False 0 + 0.49000000953674316 Type: + fill 2 @@ -175,21 +145,6 @@ - - True - False - 0 - Id: - - - 1 - 2 - GTK_FILL - 14 - 4 - - - True False @@ -201,8 +156,8 @@ 2 - 4 - 5 + 6 + 7 4 4 @@ -215,8 +170,8 @@ Color: - 6 - 7 + 8 + 9 14 4 @@ -233,8 +188,8 @@ 2 - 7 - 8 + 9 + 10 4 4 @@ -252,8 +207,8 @@ 2 - 8 - 9 + 10 + 11 14 4 @@ -287,8 +242,8 @@ 2 - 5 - 6 + 7 + 8 14 4 @@ -335,8 +290,8 @@ 1 2 - 9 - 10 + 11 + 12 @@ -352,8 +307,8 @@ 1 2 - 6 - 7 + 8 + 9 4 4 @@ -367,8 +322,8 @@ High threshold: - 9 - 10 + 11 + 12 GTK_FILL 14 4 @@ -382,8 +337,8 @@ Low threshold: - 10 - 11 + 12 + 13 GTK_FILL 14 4 @@ -431,8 +386,8 @@ 1 2 - 10 - 11 + 12 + 13 @@ -447,8 +402,8 @@ 2 - 11 - 12 + 13 + 14 4 4 @@ -466,12 +421,130 @@ 2 - 12 - 13 + 14 + 15 + 14 + 4 + + + + + True + False + 0 + Chip: + + + 3 + 4 + GTK_FILL 14 4 + + + True + False + 0 + N/A + + + 1 + 2 + 3 + 4 + 4 + 4 + + + + + True + True + + + True + False + 4 + 4 + 4 + 4 + True + True + + + True + False + 0 + Id: + + + 0 + 0 + 1 + 1 + + + + + True + False + 4 + 4 + 4 + 4 + True + 0 + N/A + + + 1 + 0 + 1 + 1 + + + + + + + True + False + Details + + + + + 2 + 5 + 6 + 14 + 4 + + + + + + + + + + + True + False + 0 + 10 + Name: + + + 1 + 2 + GTK_FILL + 4 + 4 + + True diff --git a/src/lib/amd.c b/src/lib/amd.c index 6b7f59d..7d77da5 100644 --- a/src/lib/amd.c +++ b/src/lib/amd.c @@ -121,7 +121,7 @@ static struct psensor *create_sensor(int id, int values_len) sid = malloc(strlen("amd") + 1 + strlen(name) + 1); sprintf(sid, "amd %s", name); - s = psensor_create(sid, strdup(name), + s = psensor_create(sid, strdup(name), strdup("ATI GPU"), sensor_type, values_len); s->amd_id = active_amd_adapters[id]; diff --git a/src/lib/cpu.c b/src/lib/cpu.c index 66c6df9..9d28ab0 100644 --- a/src/lib/cpu.c +++ b/src/lib/cpu.c @@ -41,7 +41,7 @@ struct psensor *create_cpu_usage_sensor(int measures_len) label = strdup("cpu usage"); type = SENSOR_TYPE_CPU_USAGE; - psensor = psensor_create(id, label, type, measures_len); + psensor = psensor_create(id, label, strdup("CPU"), type, measures_len); return psensor; } diff --git a/src/lib/hdd_atasmart.c b/src/lib/hdd_atasmart.c index 3943fa3..ae94a17 100644 --- a/src/lib/hdd_atasmart.c +++ b/src/lib/hdd_atasmart.c @@ -47,6 +47,7 @@ create_sensor(char *id, char *name, SkDisk *disk, int values_max_length) struct psensor *s; s = psensor_create(id, strdup(name), + strdup("HDD"), SENSOR_TYPE_HDD_TEMP_ATASMART, values_max_length); diff --git a/src/lib/hdd_hddtemp.c b/src/lib/hdd_hddtemp.c index 1013c59..3358b9c 100644 --- a/src/lib/hdd_hddtemp.c +++ b/src/lib/hdd_hddtemp.c @@ -115,7 +115,8 @@ static int str_index(char *str, char d) static struct psensor * create_sensor(char *id, char *name, int values_max_length) { - return psensor_create(id, name, SENSOR_TYPE_HDD_TEMP_HDDTEMP, + return psensor_create(id, name, strdup("HDD"), + SENSOR_TYPE_HDD_TEMP_HDDTEMP, values_max_length); } diff --git a/src/lib/lmsensor.c b/src/lib/lmsensor.c index 6264aac..f12955c 100644 --- a/src/lib/lmsensor.c +++ b/src/lib/lmsensor.c @@ -104,9 +104,8 @@ lmsensor_psensor_create(const sensors_chip_name *chip, { char name[200]; const sensors_subfeature *sf; - char *label; int type; - char *id; + char *id, *label, *cname; struct psensor *psensor; sensors_subfeature_type fault_subfeature; @@ -145,7 +144,16 @@ lmsensor_psensor_create(const sensors_chip_name *chip, 1); sprintf(id, "lmsensor %s %s", name, label); - psensor = psensor_create(id, label, type, values_max_length); + if (!strcmp(chip->prefix, "coretemp")) + cname = strdup("Intel CPU"); + else if (!strcmp(chip->prefix, "k10temp")) + cname = strdup("AMD CPU"); + else if (!strcmp(chip->prefix, "nouveau")) + cname = strdup("Nvidia GPU"); + else + cname = strdup(chip->prefix); + + psensor = psensor_create(id, label, cname, type, values_max_length); psensor->iname = chip; psensor->feature = feature; diff --git a/src/lib/nvidia.c b/src/lib/nvidia.c index cface2f..5b2bdea 100644 --- a/src/lib/nvidia.c +++ b/src/lib/nvidia.c @@ -68,6 +68,7 @@ static struct psensor *create_sensor(int id, int values_len) s = psensor_create(sid, strdup(name), + strdup("Nvidia GPU"), SENSOR_TYPE_NVIDIA_TEMP, values_len); diff --git a/src/lib/psensor.c b/src/lib/psensor.c index abacd9f..c399544 100644 --- a/src/lib/psensor.c +++ b/src/lib/psensor.c @@ -32,14 +32,18 @@ #endif -struct psensor *psensor_create(char *id, char *name, - unsigned int type, int values_max_length) +struct psensor *psensor_create(char *id, + char *name, + char *chip, + unsigned int type, + int values_max_length) { struct psensor *psensor = (struct psensor *)malloc(sizeof(struct psensor)); psensor->id = id; psensor->name = name; + psensor->chip = chip; psensor->enabled = 1; psensor->min = UNKNOWN_DBL_VALUE; psensor->max = UNKNOWN_DBL_VALUE; @@ -96,6 +100,9 @@ void psensor_free(struct psensor *sensor) free(sensor->name); free(sensor->id); + if (sensor->chip) + free(sensor->chip); + if (sensor->color) free(sensor->color); diff --git a/src/lib/psensor.h b/src/lib/psensor.h index 012bd12..dfc7629 100644 --- a/src/lib/psensor.h +++ b/src/lib/psensor.h @@ -59,6 +59,9 @@ struct psensor { /* Uniq id of the sensor */ char *id; + /* Name of the chip. */ + char *chip; + /* lm-sensor */ const sensors_chip_name *iname; const sensors_feature *feature; @@ -115,7 +118,9 @@ struct psensor { }; struct psensor *psensor_create(char *id, - char *name, unsigned int type, + char *name, + char *chip, + unsigned int type, int values_max_length); void psensor_values_resize(struct psensor *s, int new_size); diff --git a/src/lib/psensor_json.c b/src/lib/psensor_json.c index 18058bf..0ef0cff 100644 --- a/src/lib/psensor_json.c +++ b/src/lib/psensor_json.c @@ -150,6 +150,7 @@ struct psensor *psensor_new_from_json(json_object *o, s = psensor_create(strdup(url), strdup(json_object_get_string(oname)), + NULL, json_object_get_int(otype) | SENSOR_TYPE_REMOTE, values_max_length); s->url = url; diff --git a/src/ui_sensorpref.c b/src/ui_sensorpref.c index a015c5e..2135769 100644 --- a/src/ui_sensorpref.c +++ b/src/ui_sensorpref.c @@ -291,7 +291,8 @@ update_pref(struct psensor *s, struct config *cfg, GtkBuilder *builder) { - GtkLabel *w_id, *w_type, *w_high_threshold_unit, *w_low_threshold_unit; + GtkLabel *w_id, *w_type, *w_high_threshold_unit, *w_low_threshold_unit, + *w_chipname; GtkEntry *w_name; GtkToggleButton *w_draw, *w_alarm, *w_appindicator_enabled; GtkColorButton *w_color; @@ -309,6 +310,12 @@ update_pref(struct psensor *s, w_name = GTK_ENTRY(gtk_builder_get_object(builder, "sensor_name")); gtk_entry_set_text(w_name, p->name); + w_chipname = GTK_LABEL(gtk_builder_get_object(builder, "chip_name")); + if (s->chip) + gtk_label_set_text(w_chipname, s->chip); + else + gtk_label_set_text(w_chipname, _("Unknown")); + w_draw = GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder, "sensor_draw")); gtk_toggle_button_set_active(w_draw, p->enabled); -- 2.7.4