Skip to content

Commit dc1e309

Browse files
authored
system-monitor-graph@rcassani: Add label for network graph (#1884)
* Update TODO section in `README.md` * Different constants for CPU and GPU min and max temperatures * Network: Allow using interface name or custom text as label for graph * Update translation `.pot` file and `.po` files * Clean `README.md` * Closes #1838
1 parent 2e5eb68 commit dc1e309

17 files changed

Lines changed: 630 additions & 475 deletions

File tree

-49.8 KB
Binary file not shown.

system-monitor-graph@rcassani/README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,10 @@ CPU fan speed history while the fan is running and stopped.
6565
</p>
6666

6767
## TODO
68-
- [x] Add network
69-
- [x] Battery levels for main battery (laptop)
70-
- [x] CPU and GPU temperatures
71-
- [ ] Battery levels for main battery (laptop)
68+
- [x] Add network: [#1511](https://github.com/linuxmint/cinnamon-spices-desklets/pull/1511)
69+
- [x] Battery levels for main battery (laptop): [#1766](https://github.com/linuxmint/cinnamon-spices-desklets/pull/1766)
70+
- [x] CPU and GPU temperatures: [#1768](https://github.com/linuxmint/cinnamon-spices-desklets/pull/1768)
71+
- [x] CPU fan speed and status: [#1868](https://github.com/linuxmint/cinnamon-spices-desklets/pull/1868)
7272

7373
### Resources
7474
This is my first Desklet and the first time using JavaScript. Below, some resources that I used for the development of this Desklet.

system-monitor-graph@rcassani/files/system-monitor-graph@rcassani/desklet.js

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ const KIB_TO_B = 1024; // 1 KiB = 1,024 B
1818

1919
const CPU_TEMP_MIN = 20; // Minimum CPU temperature
2020
const CPU_TEMP_MAX = 100; // Maximum CPU temperature
21+
const GPU_TEMP_MIN = 20; // Minimum GPU temperature
22+
const GPU_TEMP_MAX = 100; // Maximum GPU temperature
2123
const CPU_FANSPEED_MAX = 4000; // CPU fan graph full-scale speed
2224
const CPU_FAN_RETRY_MIN = 5; // Initial retry delay in seconds
2325
const CPU_FAN_RETRY_MAX = 300; // Maximum retry delay in seconds
@@ -109,6 +111,7 @@ SystemMonitorGraph.prototype = {
109111
this.settings.bindProperty(Settings.BindingDirection.IN, "data-prefix-gpumem", "data_prefix_gpumem", this.on_setting_changed);
110112
this.settings.bindProperty(Settings.BindingDirection.IN, "data-prefix-network", "data_prefix_network", this.on_setting_changed);
111113
this.settings.bindProperty(Settings.BindingDirection.IN, "network-interface", "network_interface", this.on_setting_changed);
114+
this.settings.bindProperty(Settings.BindingDirection.IN, "network-label", "network_label", this.on_setting_changed);
112115
this.settings.bindProperty(Settings.BindingDirection.IN, "battery-name", "battery_name", this.on_setting_changed);
113116
this.settings.bindProperty(Settings.BindingDirection.IN, "filesystem", "filesystem", this.on_setting_changed);
114117
this.settings.bindProperty(Settings.BindingDirection.IN, "filesystem-label", "filesystem_label", this.on_setting_changed);
@@ -429,7 +432,8 @@ SystemMonitorGraph.prototype = {
429432
this.get_amdgpu_gpu_temperature(this.gpu_amd_temperature_file);
430433
break;
431434
}
432-
value = 1.0 * (this.gpu_temperature - CPU_TEMP_MIN) / (CPU_TEMP_MAX - CPU_TEMP_MIN);
435+
// scale GPU temperature based on [GPU_TEMP_MIN, GPU_TEMP_MAX]
436+
value = 1.0 * (this.gpu_temperature - GPU_TEMP_MIN) / (GPU_TEMP_MAX - GPU_TEMP_MIN);
433437
value = value < 0 ? 0 : value > 1 ? 1 : value;
434438
text1 = _("GPU Temperature");
435439
if (this.temperature_units_gpu == "C") {
@@ -445,8 +449,15 @@ SystemMonitorGraph.prototype = {
445449
this.get_network_values();
446450
// For network, we don't use the single 'value' variable as we have dual lines
447451
value = 0; // Not used for network type
448-
text1 = _("Network");
449-
452+
// Network label
453+
text1 = this.network_label;
454+
if (text1 == "") {
455+
if (this.network_interface.trim() == "") {
456+
text1 = _("Network");
457+
} else {
458+
text1 = this.network_interface.trim();
459+
}
460+
}
450461
// Format speeds with appropriate units
451462
let down_speed_formatted = this.format_network_speed(this.net_down_speed);
452463
let up_speed_formatted = this.format_network_speed(this.net_up_speed);

system-monitor-graph@rcassani/files/system-monitor-graph@rcassani/po/ca.po

Lines changed: 48 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,9 @@
66
msgid ""
77
msgstr ""
88
"Project-Id-Version: \n"
9-
"Report-Msgid-Bugs-To: https://github.com/linuxmint/cinnamon-spices-desklets/issues\n"
10-
"POT-Creation-Date: 2026-07-22 14:45+0530\n"
9+
"Report-Msgid-Bugs-To: https://github.com/linuxmint/cinnamon-spices-desklets/"
10+
"issues\n"
11+
"POT-Creation-Date: 2026-08-08 22:04-0400\n"
1112
"PO-Revision-Date: 2025-09-29 04:41+0200\n"
1213
"Last-Translator: Daniel <d3vf4n@tutanota.com>\n"
1314
"Language-Team: \n"
@@ -19,128 +20,128 @@ msgstr ""
1920
"X-Generator: Poedit 3.6\n"
2021

2122
#. settings-schema.json->type->options
22-
#. desklet.js:288
23+
#. desklet.js:291
2324
msgid "CPU"
2425
msgstr "CPU"
2526

26-
#. desklet.js:297
27+
#. desklet.js:300
2728
msgid "CPU Temperature"
2829
msgstr ""
2930

30-
#. desklet.js:309
31+
#. desklet.js:312
3132
msgid "CPU Fan"
3233
msgstr ""
3334

34-
#. desklet.js:313
35+
#. desklet.js:316
3536
msgid "RPM"
3637
msgstr ""
3738

38-
#. desklet.js:314
39+
#. desklet.js:317
3940
msgid "On"
4041
msgstr ""
4142

42-
#. desklet.js:316
43+
#. desklet.js:319
4344
msgid "Off"
4445
msgstr ""
4546

46-
#. desklet.js:319
47+
#. desklet.js:322
4748
msgid "Not detected"
4849
msgstr ""
4950

50-
#. desklet.js:321
51+
#. desklet.js:324
5152
msgid "Detecting..."
5253
msgstr ""
5354

54-
#. desklet.js:334 desklet.js:352 desklet.js:372 desklet.js:413 desklet.js:717
55+
#. desklet.js:337 desklet.js:355 desklet.js:375 desklet.js:416 desklet.js:728
5556
msgid "GB"
5657
msgstr "GB"
5758

58-
#. desklet.js:337 desklet.js:355 desklet.js:375 desklet.js:416 desklet.js:731
59+
#. desklet.js:340 desklet.js:358 desklet.js:378 desklet.js:419 desklet.js:742
5960
msgid "GiB"
6061
msgstr "GiB"
6162

6263
#. settings-schema.json->type->options
63-
#. desklet.js:339
64+
#. desklet.js:342
6465
msgid "RAM"
6566
msgstr "RAM"
6667

6768
#. settings-schema.json->type->options
68-
#. desklet.js:357
69+
#. desklet.js:360
6970
msgid "Swap"
7071
msgstr "Swap"
7172

72-
#. desklet.js:380
73+
#. desklet.js:383
7374
msgid "free of"
7475
msgstr "lliure de"
7576

76-
#. desklet.js:396
77+
#. desklet.js:399
7778
msgid "GPU Usage"
7879
msgstr "Ús de GPU"
7980

80-
#. desklet.js:418
81+
#. desklet.js:421
8182
msgid "GPU Memory"
8283
msgstr "Memòria de la GPU"
8384

84-
#. desklet.js:434
85+
#. desklet.js:438
8586
#, fuzzy
8687
msgid "GPU Temperature"
8788
msgstr "Fabricant de la GPU"
8889

8990
#. settings-schema.json->type->options
90-
#. desklet.js:448
91+
#. desklet.js:456
9192
msgid "Network"
9293
msgstr "Xarxa"
9394

9495
#. settings-schema.json->type->options
95-
#. desklet.js:461
96+
#. desklet.js:472
9697
msgid "Battery"
9798
msgstr ""
9899

99-
#. desklet.js:464
100+
#. desklet.js:475
100101
msgid "Fully charged"
101102
msgstr ""
102103

103-
#. desklet.js:465
104+
#. desklet.js:476
104105
msgid "Not charging"
105106
msgstr ""
106107

107-
#. desklet.js:467
108+
#. desklet.js:478
108109
msgid " hrs"
109110
msgstr ""
110111

111-
#. desklet.js:688 desklet.js:711
112+
#. desklet.js:699 desklet.js:722
112113
msgid "b"
113114
msgstr "b"
114115

115-
#. desklet.js:690 desklet.js:725 desklet.js:739
116+
#. desklet.js:701 desklet.js:736 desklet.js:750
116117
msgid "B"
117118
msgstr "B"
118119

119-
#. desklet.js:703
120+
#. desklet.js:714
120121
msgid "Gb"
121122
msgstr "Gb"
122123

123-
#. desklet.js:706
124+
#. desklet.js:717
124125
msgid "Mb"
125126
msgstr "Mb"
126127

127-
#. desklet.js:709
128+
#. desklet.js:720
128129
msgid "Kb"
129130
msgstr "Kb"
130131

131-
#. desklet.js:720
132+
#. desklet.js:731
132133
msgid "MB"
133134
msgstr "MB"
134135

135-
#. desklet.js:723
136+
#. desklet.js:734
136137
msgid "KB"
137138
msgstr "KB"
138139

139-
#. desklet.js:734
140+
#. desklet.js:745
140141
msgid "MiB"
141142
msgstr "MiB"
142143

143-
#. desklet.js:737
144+
#. desklet.js:748
144145
msgid "KiB"
145146
msgstr "KiB"
146147

@@ -197,7 +198,7 @@ msgid "Temperature"
197198
msgstr ""
198199

199200
#. settings-schema.json->cpu-variable->options
200-
msgid "Fan Speed"
201+
msgid "Fan"
201202
msgstr ""
202203

203204
#. settings-schema.json->temperature-units-cpu->options
@@ -279,11 +280,21 @@ msgstr "Interfície de xarxa a monitorar"
279280

280281
#. settings-schema.json->network-interface->tooltip
281282
msgid ""
282-
"Leave empty to monitor all interfaces combined. Examples: eth0, wlan0, "
283-
"enp0s3"
283+
"Leave empty to monitor all interfaces combined. Examples: eth0, wlan0, enp0s3"
284+
msgstr ""
285+
"Deixeu-ho en blanc per a monitorar totes les interfícies. Per exemple: eth0, "
286+
"wlan0, enp0s3"
287+
288+
#. settings-schema.json->network-label->description
289+
#, fuzzy
290+
msgid "Network label"
291+
msgstr "Xarxa"
292+
293+
#. settings-schema.json->network-label->tooltip
294+
msgid ""
295+
"Empty uses the network interface name or 'Network' if monitoring all "
296+
"interfaces."
284297
msgstr ""
285-
"Deixeu-ho en blanc per a monitorar totes les interfícies. Per exemple: eth0,"
286-
" wlan0, enp0s3"
287298

288299
#. settings-schema.json->battery-name->description
289300
#, fuzzy

0 commit comments

Comments
 (0)