diff --git a/README.md b/README.md
index c0fec67..81344f4 100644
--- a/README.md
+++ b/README.md
@@ -10,12 +10,13 @@ Four instances of the Desklet in action.
This project has been inspired from other Desklets such as [Disk Space](https://cinnamon-spices.linuxmint.com/desklets/view/39), [CPU Load](https://cinnamon-spices.linuxmint.com/desklets/view/44), [Simple system monitor](https://cinnamon-spices.linuxmint.com/desklets/view/29), [Network usage monitor](https://cinnamon-spices.linuxmint.com/desklets/view/15), [Top](https://cinnamon-spices.linuxmint.com/desklets/view/41), and the [Rainmeter Win10 Widgets](https://win10widgets.com/).
## Features
-### Variables to monitor (v2.0 - July 2025)
+### Variables to monitor (v2.2 - July 2026)
| System variable | Description |
| ----------- | ----------- |
| CPU | CPU usage in % |
-| CPU Temperature | CPU temperature C or F |
+| CPU Temperature | CPU temperature in C or F |
+| CPU Fan | CPU fan speed in RPM and on/off status |
| RAM | Used RAM as % of total, and in GB |
| Swap | Used Swap space as % of total, and in GB |
| HDD | % of I/O activity, and free and total space in the filesystem (partition) indicated by the user |
@@ -27,6 +28,7 @@ This project has been inspired from other Desklets such as [Disk Space](https://
Each variable is calculated every `Refresh interval` seconds (Min. 1 s, Max. 60 s.), and the graph shows the last `Duration of the graph` period (Min. 30 s, Max. 60 min).
GPU graphs work for NVIDIA, discrete AMD and built-in AMD.
+Fan monitoring uses CPU-labelled sensors and known laptop cooling drivers. It avoids guessing from unrelated unlabelled fans, and reports when an identifiable CPU fan is not detected.
### Customizable visual elements
@@ -57,6 +59,11 @@ Another screenshot.
Screenshot with temperature and battery graphs.
+
+
+CPU fan speed history while the fan is running and stopped.
+
+
## TODO
- [x] Add network
- [x] Battery levels for main battery (laptop)
diff --git a/files/system-monitor-graph@rcassani/desklet.js b/files/system-monitor-graph@rcassani/desklet.js
index 317fc83..338c053 100644
--- a/files/system-monitor-graph@rcassani/desklet.js
+++ b/files/system-monitor-graph@rcassani/desklet.js
@@ -18,6 +18,10 @@ const KIB_TO_B = 1024; // 1 KiB = 1,024 B
const CPU_TEMP_MIN = 20; // Minimum CPU temperature
const CPU_TEMP_MAX = 100; // Maximum CPU temperature
+const CPU_FANSPEED_MAX = 4000; // CPU fan graph full-scale speed
+const CPU_FAN_RETRY_MIN = 5; // Initial retry delay in seconds
+const CPU_FAN_RETRY_MAX = 300; // Maximum retry delay in seconds
+const CPU_FAN_RETRY_MULTIPLIER = 2;
const UUID = "system-monitor-graph@rcassani";
const DESKLET_PATH = imports.ui.deskletManager.deskletMeta[UUID].path;
@@ -190,6 +194,10 @@ SystemMonitorGraph.prototype = {
// temperature values
this.cpu_temperature = NaN;
this.gpu_temperature = NaN;
+ // cpu fan values
+ this.cpu_fan_rpm = NaN;
+ this.cpu_fan_file = "";
+ this.cpu_fan_discovery_complete = false;
// set colors
switch (this.type) {
@@ -232,6 +240,9 @@ SystemMonitorGraph.prototype = {
});
}
});
+ if (this.type == "cpu" && this.cpu_variable == "fan") {
+ this.rediscover_cpu_fan();
+ }
// find file for overall AMD GPU temperature
let gpu_path_temp = "/sys/class/drm/card" + this.gpu_id + "/device/hwmon/";
this.get_temperature_file_by_label(gpu_path_temp, 'edge', (result) => {
@@ -290,6 +301,26 @@ SystemMonitorGraph.prototype = {
text2 = Math.round(this.cpu_temperature * 9 / 5 + 32).toString() + "°F";
}
break;
+
+ case "fan":
+ this.get_cpu_fan_speed(this.cpu_fan_file);
+ value = isNaN(this.cpu_fan_rpm) ? 0 : this.cpu_fan_rpm / CPU_FANSPEED_MAX;
+ value = value < 0 ? 0 : value > 1 ? 1 : value;
+ text1 = _("CPU Fan");
+ text2_size = Math.max(1, text2_size - 1);
+ if (!isNaN(this.cpu_fan_rpm)) {
+ if (this.cpu_fan_rpm >= 1) {
+ text2 = this.cpu_fan_rpm + " " + _("RPM");
+ text3 = "🟢 " + _("On");
+ } else {
+ text3 = "🔴 " + _("Off");
+ }
+ } else if (this.cpu_fan_discovery_complete) {
+ text2 = _("Not detected");
+ } else {
+ text2 = _("Detecting...");
+ }
+ break;
}
break;
@@ -1142,6 +1173,75 @@ SystemMonitorGraph.prototype = {
});
},
+ get_cpu_fan_file: function(callback) {
+ // Prefer explicitly labelled CPU fans, then known laptop cooling drivers.
+ // Do not guess from an unrelated, unlabelled hwmon fan.
+ let argv = ['/bin/sh', '-c', "for fan_file in $({ grep -s -i -l -d skip -E 'cpu|processor' /sys/class/hwmon/hwmon*/fan*_label | sed 's/_label/_input/'; grep -s -l -d skip -E '^(dell_smm|thinkpad)$' /sys/class/hwmon/hwmon*/name | sed 's#/name#/fan1_input#'; }); do [ -r \"$fan_file\" ] && { printf '%s' \"$fan_file\"; break; }; done"];
+ spawnAsyncWithOutput(argv, (success, output) => {
+ callback(success && output ? output.trim() : "");
+ });
+ },
+
+ schedule_cpu_fan_retry: function() {
+ if (this.cpu_fan_retry_delay == null) this.cpu_fan_retry_delay = CPU_FAN_RETRY_MIN;
+ this.cpu_fan_file = "";
+ this.cpu_fan_rpm = NaN;
+ this.cpu_fan_discovery_complete = true;
+ this.cpu_fan_next_discovery_time = GLib.get_monotonic_time()
+ + (this.cpu_fan_retry_delay * GLib.USEC_PER_SEC);
+ this.cpu_fan_retry_delay = Math.min(
+ this.cpu_fan_retry_delay * CPU_FAN_RETRY_MULTIPLIER,
+ CPU_FAN_RETRY_MAX);
+ },
+
+ rediscover_cpu_fan: function() {
+ // Clear a stale hwmon path first. Missing or failed sensors are retried
+ // with bounded backoff instead of spawning another lookup every refresh.
+ if (this.cpu_fan_discovery_in_progress) return;
+ if (this.cpu_fan_retry_delay == null) this.cpu_fan_retry_delay = CPU_FAN_RETRY_MIN;
+ this.cpu_fan_discovery_in_progress = true;
+ this.cpu_fan_file = "";
+ this.cpu_fan_rpm = NaN;
+ this.cpu_fan_discovery_complete = false;
+ this.get_cpu_fan_file((result) => {
+ this.cpu_fan_discovery_in_progress = false;
+ if (result == "") {
+ this.schedule_cpu_fan_retry();
+ } else {
+ this.cpu_fan_file = result;
+ this.cpu_fan_discovery_complete = true;
+ this.cpu_fan_next_discovery_time = 0;
+ }
+ });
+ },
+
+ get_cpu_fan_speed: function(fan_file) {
+ if(fan_file == null || fan_file == "") {
+ if (this.cpu_fan_discovery_complete
+ && GLib.get_monotonic_time() >= this.cpu_fan_next_discovery_time) {
+ this.rediscover_cpu_fan();
+ }
+ return;
+ }
+ Gio.file_new_for_path(fan_file).load_contents_async(null, (file, response) => {
+ try {
+ let [success, contents, tag] = file.load_contents_finish(response);
+ if (success) {
+ let rpm = parseInt(ByteArray.toString(contents).trim());
+ this.cpu_fan_rpm = isNaN(rpm) ? NaN : Math.max(0, rpm);
+ this.cpu_fan_retry_delay = CPU_FAN_RETRY_MIN;
+ this.cpu_fan_next_discovery_time = 0;
+ } else {
+ this.schedule_cpu_fan_retry();
+ }
+ GLib.free(contents);
+ } catch(error) {
+ this.schedule_cpu_fan_retry();
+ global.log('CPU fan speed file read error: ' + error.toString());
+ }
+ });
+ },
+
get_temperature_file_by_label: function(path, label, callback) {
// search for temperture file: 'path'/*/temp*_input associated to file path/*/temp*_label with content 'label'
let argv = ['/bin/sh', '-c', "grep -s -l -d skip '" + label + "' " + path + "*/temp*_label | sed 's/_label/_input/' | head -n 1"];
diff --git a/files/system-monitor-graph@rcassani/metadata.json b/files/system-monitor-graph@rcassani/metadata.json
index dd88a9b..f8c9b67 100644
--- a/files/system-monitor-graph@rcassani/metadata.json
+++ b/files/system-monitor-graph@rcassani/metadata.json
@@ -3,6 +3,6 @@
"uuid": "system-monitor-graph@rcassani",
"name": "System monitor graph",
"description": "Creates graphs for system variables.",
- "version": "2.1",
+ "version": "2.2",
"prevent-decorations": true
}
diff --git a/files/system-monitor-graph@rcassani/po/ca.po b/files/system-monitor-graph@rcassani/po/ca.po
index a8337ab..4c9dafe 100644
--- a/files/system-monitor-graph@rcassani/po/ca.po
+++ b/files/system-monitor-graph@rcassani/po/ca.po
@@ -6,9 +6,8 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
-"Report-Msgid-Bugs-To: https://github.com/linuxmint/cinnamon-spices-desklets/"
-"issues\n"
-"POT-Creation-Date: 2026-03-23 21:24-0400\n"
+"Report-Msgid-Bugs-To: https://github.com/linuxmint/cinnamon-spices-desklets/issues\n"
+"POT-Creation-Date: 2026-07-22 14:45+0530\n"
"PO-Revision-Date: 2025-09-29 04:41+0200\n"
"Last-Translator: Daniel \n"
"Language-Team: \n"
@@ -20,104 +19,128 @@ msgstr ""
"X-Generator: Poedit 3.6\n"
#. settings-schema.json->type->options
-#. desklet.js:275
+#. desklet.js:288
msgid "CPU"
msgstr "CPU"
-#. desklet.js:284
+#. desklet.js:297
msgid "CPU Temperature"
msgstr ""
-#. desklet.js:301 desklet.js:319 desklet.js:339 desklet.js:380 desklet.js:684
+#. desklet.js:309
+msgid "CPU Fan"
+msgstr ""
+
+#. desklet.js:313
+msgid "RPM"
+msgstr ""
+
+#. desklet.js:314
+msgid "On"
+msgstr ""
+
+#. desklet.js:316
+msgid "Off"
+msgstr ""
+
+#. desklet.js:319
+msgid "Not detected"
+msgstr ""
+
+#. desklet.js:321
+msgid "Detecting..."
+msgstr ""
+
+#. desklet.js:334 desklet.js:352 desklet.js:372 desklet.js:413 desklet.js:717
msgid "GB"
msgstr "GB"
-#. desklet.js:304 desklet.js:322 desklet.js:342 desklet.js:383 desklet.js:698
+#. desklet.js:337 desklet.js:355 desklet.js:375 desklet.js:416 desklet.js:731
msgid "GiB"
msgstr "GiB"
#. settings-schema.json->type->options
-#. desklet.js:306
+#. desklet.js:339
msgid "RAM"
msgstr "RAM"
#. settings-schema.json->type->options
-#. desklet.js:324
+#. desklet.js:357
msgid "Swap"
msgstr "Swap"
-#. desklet.js:347
+#. desklet.js:380
msgid "free of"
msgstr "lliure de"
-#. desklet.js:363
+#. desklet.js:396
msgid "GPU Usage"
msgstr "Ús de GPU"
-#. desklet.js:385
+#. desklet.js:418
msgid "GPU Memory"
msgstr "Memòria de la GPU"
-#. desklet.js:401
+#. desklet.js:434
#, fuzzy
msgid "GPU Temperature"
msgstr "Fabricant de la GPU"
#. settings-schema.json->type->options
-#. desklet.js:415
+#. desklet.js:448
msgid "Network"
msgstr "Xarxa"
#. settings-schema.json->type->options
-#. desklet.js:428
+#. desklet.js:461
msgid "Battery"
msgstr ""
-#. desklet.js:431
+#. desklet.js:464
msgid "Fully charged"
msgstr ""
-#. desklet.js:432
+#. desklet.js:465
msgid "Not charging"
msgstr ""
-#. desklet.js:434
+#. desklet.js:467
msgid " hrs"
msgstr ""
-#. desklet.js:655 desklet.js:678
+#. desklet.js:688 desklet.js:711
msgid "b"
msgstr "b"
-#. desklet.js:657 desklet.js:692 desklet.js:706
+#. desklet.js:690 desklet.js:725 desklet.js:739
msgid "B"
msgstr "B"
-#. desklet.js:670
+#. desklet.js:703
msgid "Gb"
msgstr "Gb"
-#. desklet.js:673
+#. desklet.js:706
msgid "Mb"
msgstr "Mb"
-#. desklet.js:676
+#. desklet.js:709
msgid "Kb"
msgstr "Kb"
-#. desklet.js:687
+#. desklet.js:720
msgid "MB"
msgstr "MB"
-#. desklet.js:690
+#. desklet.js:723
msgid "KB"
msgstr "KB"
-#. desklet.js:701
+#. desklet.js:734
msgid "MiB"
msgstr "MiB"
-#. desklet.js:704
+#. desklet.js:737
msgid "KiB"
msgstr "KiB"
@@ -173,6 +196,10 @@ msgstr "Ús"
msgid "Temperature"
msgstr ""
+#. settings-schema.json->cpu-variable->options
+msgid "Fan Speed"
+msgstr ""
+
#. settings-schema.json->temperature-units-cpu->options
#. settings-schema.json->temperature-units-gpu->options
msgid "°C"
@@ -252,10 +279,11 @@ msgstr "Interfície de xarxa a monitorar"
#. settings-schema.json->network-interface->tooltip
msgid ""
-"Leave empty to monitor all interfaces combined. Examples: eth0, wlan0, enp0s3"
+"Leave empty to monitor all interfaces combined. Examples: eth0, wlan0, "
+"enp0s3"
msgstr ""
-"Deixeu-ho en blanc per a monitorar totes les interfícies. Per exemple: eth0, "
-"wlan0, enp0s3"
+"Deixeu-ho en blanc per a monitorar totes les interfícies. Per exemple: eth0,"
+" wlan0, enp0s3"
#. settings-schema.json->battery-name->description
#, fuzzy
diff --git a/files/system-monitor-graph@rcassani/po/da.po b/files/system-monitor-graph@rcassani/po/da.po
index e9776c8..ced31ba 100644
--- a/files/system-monitor-graph@rcassani/po/da.po
+++ b/files/system-monitor-graph@rcassani/po/da.po
@@ -6,9 +6,8 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
-"Report-Msgid-Bugs-To: https://github.com/linuxmint/cinnamon-spices-desklets/"
-"issues\n"
-"POT-Creation-Date: 2026-03-23 21:24-0400\n"
+"Report-Msgid-Bugs-To: https://github.com/linuxmint/cinnamon-spices-desklets/issues\n"
+"POT-Creation-Date: 2026-07-22 14:45+0530\n"
"PO-Revision-Date: 2026-04-06 14:06+0200\n"
"Last-Translator: Alan Mortensen \n"
"Language-Team: \n"
@@ -20,103 +19,127 @@ msgstr ""
"X-Generator: Poedit 3.4.2\n"
#. settings-schema.json->type->options
-#. desklet.js:275
+#. desklet.js:288
msgid "CPU"
msgstr "CPU"
-#. desklet.js:284
+#. desklet.js:297
msgid "CPU Temperature"
msgstr "CPU-temperatur"
-#. desklet.js:301 desklet.js:319 desklet.js:339 desklet.js:380 desklet.js:684
+#. desklet.js:309
+msgid "CPU Fan"
+msgstr ""
+
+#. desklet.js:313
+msgid "RPM"
+msgstr ""
+
+#. desklet.js:314
+msgid "On"
+msgstr ""
+
+#. desklet.js:316
+msgid "Off"
+msgstr ""
+
+#. desklet.js:319
+msgid "Not detected"
+msgstr ""
+
+#. desklet.js:321
+msgid "Detecting..."
+msgstr ""
+
+#. desklet.js:334 desklet.js:352 desklet.js:372 desklet.js:413 desklet.js:717
msgid "GB"
msgstr "GB"
-#. desklet.js:304 desklet.js:322 desklet.js:342 desklet.js:383 desklet.js:698
+#. desklet.js:337 desklet.js:355 desklet.js:375 desklet.js:416 desklet.js:731
msgid "GiB"
msgstr "GiB"
#. settings-schema.json->type->options
-#. desklet.js:306
+#. desklet.js:339
msgid "RAM"
msgstr "RAM"
#. settings-schema.json->type->options
-#. desklet.js:324
+#. desklet.js:357
msgid "Swap"
msgstr "Swap"
-#. desklet.js:347
+#. desklet.js:380
msgid "free of"
msgstr "ledig ud af"
-#. desklet.js:363
+#. desklet.js:396
msgid "GPU Usage"
msgstr "GPU-forbrug"
-#. desklet.js:385
+#. desklet.js:418
msgid "GPU Memory"
msgstr "GPU-hukommelse"
-#. desklet.js:401
+#. desklet.js:434
msgid "GPU Temperature"
msgstr "GPU-temperatur"
#. settings-schema.json->type->options
-#. desklet.js:415
+#. desklet.js:448
msgid "Network"
msgstr "Netværk"
#. settings-schema.json->type->options
-#. desklet.js:428
+#. desklet.js:461
msgid "Battery"
msgstr "Batteri"
-#. desklet.js:431
+#. desklet.js:464
msgid "Fully charged"
msgstr "Fuldt opladet"
-#. desklet.js:432
+#. desklet.js:465
msgid "Not charging"
msgstr "Oplader ikke"
-#. desklet.js:434
+#. desklet.js:467
msgid " hrs"
msgstr "timer"
-#. desklet.js:655 desklet.js:678
+#. desklet.js:688 desklet.js:711
msgid "b"
msgstr "b"
-#. desklet.js:657 desklet.js:692 desklet.js:706
+#. desklet.js:690 desklet.js:725 desklet.js:739
msgid "B"
msgstr "B"
-#. desklet.js:670
+#. desklet.js:703
msgid "Gb"
msgstr "Gb"
-#. desklet.js:673
+#. desklet.js:706
msgid "Mb"
msgstr "Mb"
-#. desklet.js:676
+#. desklet.js:709
msgid "Kb"
msgstr "Kb"
-#. desklet.js:687
+#. desklet.js:720
msgid "MB"
msgstr "MB"
-#. desklet.js:690
+#. desklet.js:723
msgid "KB"
msgstr "KB"
-#. desklet.js:701
+#. desklet.js:734
msgid "MiB"
msgstr "MiB"
-#. desklet.js:704
+#. desklet.js:737
msgid "KiB"
msgstr "KiB"
@@ -170,6 +193,10 @@ msgstr "Forbrug"
msgid "Temperature"
msgstr "Temperatur"
+#. settings-schema.json->cpu-variable->options
+msgid "Fan Speed"
+msgstr ""
+
#. settings-schema.json->temperature-units-cpu->options
#. settings-schema.json->temperature-units-gpu->options
msgid "°C"
@@ -246,7 +273,8 @@ msgstr "Netværksgrænseflade der skal overvåges"
#. settings-schema.json->network-interface->tooltip
msgid ""
-"Leave empty to monitor all interfaces combined. Examples: eth0, wlan0, enp0s3"
+"Leave empty to monitor all interfaces combined. Examples: eth0, wlan0, "
+"enp0s3"
msgstr ""
"Lad feltet være tomt for at overvåge alle grænseflader samlet. Eksempler: "
"eth0, wlan0, enp0s3"
diff --git a/files/system-monitor-graph@rcassani/po/de.po b/files/system-monitor-graph@rcassani/po/de.po
index a3791e3..6bb2ecb 100644
--- a/files/system-monitor-graph@rcassani/po/de.po
+++ b/files/system-monitor-graph@rcassani/po/de.po
@@ -6,9 +6,8 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
-"Report-Msgid-Bugs-To: https://github.com/linuxmint/cinnamon-spices-desklets/"
-"issues\n"
-"POT-Creation-Date: 2026-03-23 21:24-0400\n"
+"Report-Msgid-Bugs-To: https://github.com/linuxmint/cinnamon-spices-desklets/issues\n"
+"POT-Creation-Date: 2026-07-22 14:45+0530\n"
"PO-Revision-Date: 2022-04-17 18:13+0100\n"
"Last-Translator: Georg Sieber\n"
"Language-Team: \n"
@@ -18,106 +17,130 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
#. settings-schema.json->type->options
-#. desklet.js:275
+#. desklet.js:288
msgid "CPU"
msgstr "CPU"
-#. desklet.js:284
+#. desklet.js:297
msgid "CPU Temperature"
msgstr ""
-#. desklet.js:301 desklet.js:319 desklet.js:339 desklet.js:380 desklet.js:684
+#. desklet.js:309
+msgid "CPU Fan"
+msgstr ""
+
+#. desklet.js:313
+msgid "RPM"
+msgstr ""
+
+#. desklet.js:314
+msgid "On"
+msgstr ""
+
+#. desklet.js:316
+msgid "Off"
+msgstr ""
+
+#. desklet.js:319
+msgid "Not detected"
+msgstr ""
+
+#. desklet.js:321
+msgid "Detecting..."
+msgstr ""
+
+#. desklet.js:334 desklet.js:352 desklet.js:372 desklet.js:413 desklet.js:717
msgid "GB"
msgstr "GB"
-#. desklet.js:304 desklet.js:322 desklet.js:342 desklet.js:383 desklet.js:698
+#. desklet.js:337 desklet.js:355 desklet.js:375 desklet.js:416 desklet.js:731
msgid "GiB"
msgstr "GiB"
#. settings-schema.json->type->options
-#. desklet.js:306
+#. desklet.js:339
msgid "RAM"
msgstr "RAM"
#. settings-schema.json->type->options
-#. desklet.js:324
+#. desklet.js:357
msgid "Swap"
msgstr "Swap"
-#. desklet.js:347
+#. desklet.js:380
msgid "free of"
msgstr "frei von"
-#. desklet.js:363
+#. desklet.js:396
msgid "GPU Usage"
msgstr "GPU-Auslastung"
-#. desklet.js:385
+#. desklet.js:418
msgid "GPU Memory"
msgstr "GPU-Speicher"
-#. desklet.js:401
+#. desklet.js:434
#, fuzzy
msgid "GPU Temperature"
msgstr "GPU-Hersteller"
#. settings-schema.json->type->options
-#. desklet.js:415
+#. desklet.js:448
msgid "Network"
msgstr ""
#. settings-schema.json->type->options
-#. desklet.js:428
+#. desklet.js:461
msgid "Battery"
msgstr ""
-#. desklet.js:431
+#. desklet.js:464
msgid "Fully charged"
msgstr ""
-#. desklet.js:432
+#. desklet.js:465
msgid "Not charging"
msgstr ""
-#. desklet.js:434
+#. desklet.js:467
msgid " hrs"
msgstr ""
-#. desklet.js:655 desklet.js:678
+#. desklet.js:688 desklet.js:711
msgid "b"
msgstr ""
-#. desklet.js:657 desklet.js:692 desklet.js:706
+#. desklet.js:690 desklet.js:725 desklet.js:739
#, fuzzy
msgid "B"
msgstr "GB"
-#. desklet.js:670
+#. desklet.js:703
msgid "Gb"
msgstr ""
-#. desklet.js:673
+#. desklet.js:706
msgid "Mb"
msgstr ""
-#. desklet.js:676
+#. desklet.js:709
msgid "Kb"
msgstr ""
-#. desklet.js:687
+#. desklet.js:720
msgid "MB"
msgstr ""
-#. desklet.js:690
+#. desklet.js:723
msgid "KB"
msgstr ""
-#. desklet.js:701
+#. desklet.js:734
#, fuzzy
msgid "MiB"
msgstr "GiB"
-#. desklet.js:704
+#. desklet.js:737
#, fuzzy
msgid "KiB"
msgstr "GiB"
@@ -174,6 +197,10 @@ msgstr "Auslastung"
msgid "Temperature"
msgstr ""
+#. settings-schema.json->cpu-variable->options
+msgid "Fan Speed"
+msgstr ""
+
#. settings-schema.json->temperature-units-cpu->options
#. settings-schema.json->temperature-units-gpu->options
msgid "°C"
@@ -256,7 +283,8 @@ msgstr "Zu überwachendes Netzwerkinterface"
#. settings-schema.json->network-interface->tooltip
msgid ""
-"Leave empty to monitor all interfaces combined. Examples: eth0, wlan0, enp0s3"
+"Leave empty to monitor all interfaces combined. Examples: eth0, wlan0, "
+"enp0s3"
msgstr ""
#. settings-schema.json->battery-name->description
diff --git a/files/system-monitor-graph@rcassani/po/es.po b/files/system-monitor-graph@rcassani/po/es.po
index 053ca84..aa5e37b 100644
--- a/files/system-monitor-graph@rcassani/po/es.po
+++ b/files/system-monitor-graph@rcassani/po/es.po
@@ -6,9 +6,8 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
-"Report-Msgid-Bugs-To: https://github.com/linuxmint/cinnamon-spices-desklets/"
-"issues\n"
-"POT-Creation-Date: 2026-03-23 21:24-0400\n"
+"Report-Msgid-Bugs-To: https://github.com/linuxmint/cinnamon-spices-desklets/issues\n"
+"POT-Creation-Date: 2026-07-22 14:45+0530\n"
"PO-Revision-Date: 2026-03-29 10:45-0300\n"
"Last-Translator: Daniel \n"
"Language-Team: \n"
@@ -20,103 +19,127 @@ msgstr ""
"X-Generator: Poedit 3.9\n"
#. settings-schema.json->type->options
-#. desklet.js:275
+#. desklet.js:288
msgid "CPU"
msgstr "CPU"
-#. desklet.js:284
+#. desklet.js:297
msgid "CPU Temperature"
msgstr "Temperatura de la CPU"
-#. desklet.js:301 desklet.js:319 desklet.js:339 desklet.js:380 desklet.js:684
+#. desklet.js:309
+msgid "CPU Fan"
+msgstr ""
+
+#. desklet.js:313
+msgid "RPM"
+msgstr ""
+
+#. desklet.js:314
+msgid "On"
+msgstr ""
+
+#. desklet.js:316
+msgid "Off"
+msgstr ""
+
+#. desklet.js:319
+msgid "Not detected"
+msgstr ""
+
+#. desklet.js:321
+msgid "Detecting..."
+msgstr ""
+
+#. desklet.js:334 desklet.js:352 desklet.js:372 desklet.js:413 desklet.js:717
msgid "GB"
msgstr "GB"
-#. desklet.js:304 desklet.js:322 desklet.js:342 desklet.js:383 desklet.js:698
+#. desklet.js:337 desklet.js:355 desklet.js:375 desklet.js:416 desklet.js:731
msgid "GiB"
msgstr "GiB"
#. settings-schema.json->type->options
-#. desklet.js:306
+#. desklet.js:339
msgid "RAM"
msgstr "RAM"
#. settings-schema.json->type->options
-#. desklet.js:324
+#. desklet.js:357
msgid "Swap"
msgstr "Swap"
-#. desklet.js:347
+#. desklet.js:380
msgid "free of"
msgstr "libres de"
-#. desklet.js:363
+#. desklet.js:396
msgid "GPU Usage"
msgstr "Uso de GPU"
-#. desklet.js:385
+#. desklet.js:418
msgid "GPU Memory"
msgstr "Memoria de GPU"
-#. desklet.js:401
+#. desklet.js:434
msgid "GPU Temperature"
msgstr "Temperatura de la GPU"
#. settings-schema.json->type->options
-#. desklet.js:415
+#. desklet.js:448
msgid "Network"
msgstr "Red"
#. settings-schema.json->type->options
-#. desklet.js:428
+#. desklet.js:461
msgid "Battery"
msgstr "Batería"
-#. desklet.js:431
+#. desklet.js:464
msgid "Fully charged"
msgstr "Completamente cargada"
-#. desklet.js:432
+#. desklet.js:465
msgid "Not charging"
msgstr "No se está cargando"
-#. desklet.js:434
+#. desklet.js:467
msgid " hrs"
msgstr " hrs"
-#. desklet.js:655 desklet.js:678
+#. desklet.js:688 desklet.js:711
msgid "b"
msgstr "b"
-#. desklet.js:657 desklet.js:692 desklet.js:706
+#. desklet.js:690 desklet.js:725 desklet.js:739
msgid "B"
msgstr "B"
-#. desklet.js:670
+#. desklet.js:703
msgid "Gb"
msgstr "Gb"
-#. desklet.js:673
+#. desklet.js:706
msgid "Mb"
msgstr "Mb"
-#. desklet.js:676
+#. desklet.js:709
msgid "Kb"
msgstr "Kb"
-#. desklet.js:687
+#. desklet.js:720
msgid "MB"
msgstr "MB"
-#. desklet.js:690
+#. desklet.js:723
msgid "KB"
msgstr "KB"
-#. desklet.js:701
+#. desklet.js:734
msgid "MiB"
msgstr "MiB"
-#. desklet.js:704
+#. desklet.js:737
msgid "KiB"
msgstr "KiB"
@@ -170,6 +193,10 @@ msgstr "Uso"
msgid "Temperature"
msgstr "TemperaturA"
+#. settings-schema.json->cpu-variable->options
+msgid "Fan Speed"
+msgstr ""
+
#. settings-schema.json->temperature-units-cpu->options
#. settings-schema.json->temperature-units-gpu->options
msgid "°C"
@@ -248,7 +275,8 @@ msgstr "Interfaz de red a monitorear"
#. settings-schema.json->network-interface->tooltip
msgid ""
-"Leave empty to monitor all interfaces combined. Examples: eth0, wlan0, enp0s3"
+"Leave empty to monitor all interfaces combined. Examples: eth0, wlan0, "
+"enp0s3"
msgstr ""
"Dejar vacío para monitorizar todas las interfaces combinadas. Ejemplos: "
"eth0, wlan0, enp0s3"
@@ -418,7 +446,8 @@ msgstr "Color de la línea de la CPU"
#. settings-schema.json->line-color-battery->tooltip
msgid "RGB or RGBA. Alpha is ignored"
msgstr ""
-"El color se puede guardar en formato RGB o RGBA, pero se ignorará la opacidad"
+"El color se puede guardar en formato RGB o RGBA, pero se ignorará la "
+"opacidad"
#. settings-schema.json->line-color-ram->description
msgid "Line color RAM"
diff --git a/files/system-monitor-graph@rcassani/po/fi.po b/files/system-monitor-graph@rcassani/po/fi.po
index 200c6a5..7ab7932 100644
--- a/files/system-monitor-graph@rcassani/po/fi.po
+++ b/files/system-monitor-graph@rcassani/po/fi.po
@@ -6,9 +6,8 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
-"Report-Msgid-Bugs-To: https://github.com/linuxmint/cinnamon-spices-desklets/"
-"issues\n"
-"POT-Creation-Date: 2026-03-23 21:24-0400\n"
+"Report-Msgid-Bugs-To: https://github.com/linuxmint/cinnamon-spices-desklets/issues\n"
+"POT-Creation-Date: 2026-07-22 14:45+0530\n"
"PO-Revision-Date: 2024-11-09 13:32+0200\n"
"Last-Translator: Kimmo Kujansuu \n"
"Language-Team: \n"
@@ -16,110 +15,134 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 2.3\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Poedit 2.3\n"
#. settings-schema.json->type->options
-#. desklet.js:275
+#. desklet.js:288
msgid "CPU"
msgstr "CPU"
-#. desklet.js:284
+#. desklet.js:297
msgid "CPU Temperature"
msgstr ""
-#. desklet.js:301 desklet.js:319 desklet.js:339 desklet.js:380 desklet.js:684
+#. desklet.js:309
+msgid "CPU Fan"
+msgstr ""
+
+#. desklet.js:313
+msgid "RPM"
+msgstr ""
+
+#. desklet.js:314
+msgid "On"
+msgstr ""
+
+#. desklet.js:316
+msgid "Off"
+msgstr ""
+
+#. desklet.js:319
+msgid "Not detected"
+msgstr ""
+
+#. desklet.js:321
+msgid "Detecting..."
+msgstr ""
+
+#. desklet.js:334 desklet.js:352 desklet.js:372 desklet.js:413 desklet.js:717
msgid "GB"
msgstr "GB"
-#. desklet.js:304 desklet.js:322 desklet.js:342 desklet.js:383 desklet.js:698
+#. desklet.js:337 desklet.js:355 desklet.js:375 desklet.js:416 desklet.js:731
msgid "GiB"
msgstr "GiB"
#. settings-schema.json->type->options
-#. desklet.js:306
+#. desklet.js:339
msgid "RAM"
msgstr "RAM"
#. settings-schema.json->type->options
-#. desklet.js:324
+#. desklet.js:357
msgid "Swap"
msgstr "Swap"
-#. desklet.js:347
+#. desklet.js:380
msgid "free of"
msgstr "vapaa"
-#. desklet.js:363
+#. desklet.js:396
msgid "GPU Usage"
msgstr "GPU Käyttö"
-#. desklet.js:385
+#. desklet.js:418
msgid "GPU Memory"
msgstr "GPU Muisti"
-#. desklet.js:401
+#. desklet.js:434
#, fuzzy
msgid "GPU Temperature"
msgstr "GPU valmistaja"
#. settings-schema.json->type->options
-#. desklet.js:415
+#. desklet.js:448
msgid "Network"
msgstr ""
#. settings-schema.json->type->options
-#. desklet.js:428
+#. desklet.js:461
msgid "Battery"
msgstr ""
-#. desklet.js:431
+#. desklet.js:464
msgid "Fully charged"
msgstr ""
-#. desklet.js:432
+#. desklet.js:465
msgid "Not charging"
msgstr ""
-#. desklet.js:434
+#. desklet.js:467
msgid " hrs"
msgstr ""
-#. desklet.js:655 desklet.js:678
+#. desklet.js:688 desklet.js:711
msgid "b"
msgstr ""
-#. desklet.js:657 desklet.js:692 desklet.js:706
+#. desklet.js:690 desklet.js:725 desklet.js:739
#, fuzzy
msgid "B"
msgstr "GB"
-#. desklet.js:670
+#. desklet.js:703
msgid "Gb"
msgstr ""
-#. desklet.js:673
+#. desklet.js:706
msgid "Mb"
msgstr ""
-#. desklet.js:676
+#. desklet.js:709
msgid "Kb"
msgstr ""
-#. desklet.js:687
+#. desklet.js:720
msgid "MB"
msgstr ""
-#. desklet.js:690
+#. desklet.js:723
msgid "KB"
msgstr ""
-#. desklet.js:701
+#. desklet.js:734
#, fuzzy
msgid "MiB"
msgstr "GiB"
-#. desklet.js:704
+#. desklet.js:737
#, fuzzy
msgid "KiB"
msgstr "GiB"
@@ -178,6 +201,10 @@ msgstr "Käyttö"
msgid "Temperature"
msgstr ""
+#. settings-schema.json->cpu-variable->options
+msgid "Fan Speed"
+msgstr ""
+
#. settings-schema.json->temperature-units-cpu->options
#. settings-schema.json->temperature-units-gpu->options
msgid "°C"
@@ -260,7 +287,8 @@ msgstr "Valitse valvottava GPU:n muuttuja näytölle."
#. settings-schema.json->network-interface->tooltip
msgid ""
-"Leave empty to monitor all interfaces combined. Examples: eth0, wlan0, enp0s3"
+"Leave empty to monitor all interfaces combined. Examples: eth0, wlan0, "
+"enp0s3"
msgstr ""
#. settings-schema.json->battery-name->description
diff --git a/files/system-monitor-graph@rcassani/po/hu.po b/files/system-monitor-graph@rcassani/po/hu.po
index b297690..4dea3a6 100644
--- a/files/system-monitor-graph@rcassani/po/hu.po
+++ b/files/system-monitor-graph@rcassani/po/hu.po
@@ -6,9 +6,8 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
-"Report-Msgid-Bugs-To: https://github.com/linuxmint/cinnamon-spices-desklets/"
-"issues\n"
-"POT-Creation-Date: 2026-03-23 21:24-0400\n"
+"Report-Msgid-Bugs-To: https://github.com/linuxmint/cinnamon-spices-desklets/issues\n"
+"POT-Creation-Date: 2026-07-22 14:45+0530\n"
"PO-Revision-Date: 2026-04-06 21:25+0200\n"
"Last-Translator: \n"
"Language-Team: \n"
@@ -20,103 +19,127 @@ msgstr ""
"X-Generator: Poedit 3.4.2\n"
#. settings-schema.json->type->options
-#. desklet.js:275
+#. desklet.js:288
msgid "CPU"
msgstr "CPU"
-#. desklet.js:284
+#. desklet.js:297
msgid "CPU Temperature"
msgstr "CPU Hőmérséklet"
-#. desklet.js:301 desklet.js:319 desklet.js:339 desklet.js:380 desklet.js:684
+#. desklet.js:309
+msgid "CPU Fan"
+msgstr ""
+
+#. desklet.js:313
+msgid "RPM"
+msgstr ""
+
+#. desklet.js:314
+msgid "On"
+msgstr ""
+
+#. desklet.js:316
+msgid "Off"
+msgstr ""
+
+#. desklet.js:319
+msgid "Not detected"
+msgstr ""
+
+#. desklet.js:321
+msgid "Detecting..."
+msgstr ""
+
+#. desklet.js:334 desklet.js:352 desklet.js:372 desklet.js:413 desklet.js:717
msgid "GB"
msgstr "GB"
-#. desklet.js:304 desklet.js:322 desklet.js:342 desklet.js:383 desklet.js:698
+#. desklet.js:337 desklet.js:355 desklet.js:375 desklet.js:416 desklet.js:731
msgid "GiB"
msgstr "GiB"
#. settings-schema.json->type->options
-#. desklet.js:306
+#. desklet.js:339
msgid "RAM"
msgstr "RAM"
#. settings-schema.json->type->options
-#. desklet.js:324
+#. desklet.js:357
msgid "Swap"
msgstr "Cserehely"
-#. desklet.js:347
+#. desklet.js:380
msgid "free of"
msgstr "szabad, összesen:"
-#. desklet.js:363
+#. desklet.js:396
msgid "GPU Usage"
msgstr "GPU használat"
-#. desklet.js:385
+#. desklet.js:418
msgid "GPU Memory"
msgstr "GPU memória"
-#. desklet.js:401
+#. desklet.js:434
msgid "GPU Temperature"
msgstr "CPU Hőmérséklet"
#. settings-schema.json->type->options
-#. desklet.js:415
+#. desklet.js:448
msgid "Network"
msgstr "Hálózat"
#. settings-schema.json->type->options
-#. desklet.js:428
+#. desklet.js:461
msgid "Battery"
msgstr "Akkumlátor"
-#. desklet.js:431
+#. desklet.js:464
msgid "Fully charged"
msgstr "Teljesen feltöltve"
-#. desklet.js:432
+#. desklet.js:465
msgid "Not charging"
msgstr "nem tölt"
-#. desklet.js:434
+#. desklet.js:467
msgid " hrs"
msgstr "óra"
-#. desklet.js:655 desklet.js:678
+#. desklet.js:688 desklet.js:711
msgid "b"
msgstr "b"
-#. desklet.js:657 desklet.js:692 desklet.js:706
+#. desklet.js:690 desklet.js:725 desklet.js:739
msgid "B"
msgstr "B"
-#. desklet.js:670
+#. desklet.js:703
msgid "Gb"
msgstr "Gb"
-#. desklet.js:673
+#. desklet.js:706
msgid "Mb"
msgstr "Mb"
-#. desklet.js:676
+#. desklet.js:709
msgid "Kb"
msgstr "Kb"
-#. desklet.js:687
+#. desklet.js:720
msgid "MB"
msgstr "MB"
-#. desklet.js:690
+#. desklet.js:723
msgid "KB"
msgstr "KB"
-#. desklet.js:701
+#. desklet.js:734
msgid "MiB"
msgstr "MiB"
-#. desklet.js:704
+#. desklet.js:737
msgid "KiB"
msgstr "KiB"
@@ -170,6 +193,10 @@ msgstr "Használat"
msgid "Temperature"
msgstr "Hőmérséklet"
+#. settings-schema.json->cpu-variable->options
+msgid "Fan Speed"
+msgstr ""
+
#. settings-schema.json->temperature-units-cpu->options
#. settings-schema.json->temperature-units-gpu->options
msgid "°C"
@@ -246,10 +273,11 @@ msgstr "Hálózati interfész a monitorozáshoz"
#. settings-schema.json->network-interface->tooltip
msgid ""
-"Leave empty to monitor all interfaces combined. Examples: eth0, wlan0, enp0s3"
+"Leave empty to monitor all interfaces combined. Examples: eth0, wlan0, "
+"enp0s3"
msgstr ""
-"Hagyja üresen, ha az összes interfészt együttesen szeretné figyelni. Példák: "
-"eth0, wlan0, enp0s3"
+"Hagyja üresen, ha az összes interfészt együttesen szeretné figyelni. Példák:"
+" eth0, wlan0, enp0s3"
#. settings-schema.json->battery-name->description
msgid "Name of battery name to monitor"
diff --git a/files/system-monitor-graph@rcassani/po/it.po b/files/system-monitor-graph@rcassani/po/it.po
index 6796f5c..e835f97 100644
--- a/files/system-monitor-graph@rcassani/po/it.po
+++ b/files/system-monitor-graph@rcassani/po/it.po
@@ -6,9 +6,8 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
-"Report-Msgid-Bugs-To: https://github.com/linuxmint/cinnamon-spices-desklets/"
-"issues\n"
-"POT-Creation-Date: 2026-03-23 21:24-0400\n"
+"Report-Msgid-Bugs-To: https://github.com/linuxmint/cinnamon-spices-desklets/issues\n"
+"POT-Creation-Date: 2026-07-22 14:45+0530\n"
"PO-Revision-Date: 2025-08-26 19:59+0200\n"
"Last-Translator: Dragone2 \n"
"Language-Team: \n"
@@ -20,104 +19,128 @@ msgstr ""
"X-Generator: Poedit 3.4.2\n"
#. settings-schema.json->type->options
-#. desklet.js:275
+#. desklet.js:288
msgid "CPU"
msgstr "CPU"
-#. desklet.js:284
+#. desklet.js:297
msgid "CPU Temperature"
msgstr ""
-#. desklet.js:301 desklet.js:319 desklet.js:339 desklet.js:380 desklet.js:684
+#. desklet.js:309
+msgid "CPU Fan"
+msgstr ""
+
+#. desklet.js:313
+msgid "RPM"
+msgstr ""
+
+#. desklet.js:314
+msgid "On"
+msgstr ""
+
+#. desklet.js:316
+msgid "Off"
+msgstr ""
+
+#. desklet.js:319
+msgid "Not detected"
+msgstr ""
+
+#. desklet.js:321
+msgid "Detecting..."
+msgstr ""
+
+#. desklet.js:334 desklet.js:352 desklet.js:372 desklet.js:413 desklet.js:717
msgid "GB"
msgstr "GB"
-#. desklet.js:304 desklet.js:322 desklet.js:342 desklet.js:383 desklet.js:698
+#. desklet.js:337 desklet.js:355 desklet.js:375 desklet.js:416 desklet.js:731
msgid "GiB"
msgstr "GiB"
#. settings-schema.json->type->options
-#. desklet.js:306
+#. desklet.js:339
msgid "RAM"
msgstr "RAM"
#. settings-schema.json->type->options
-#. desklet.js:324
+#. desklet.js:357
msgid "Swap"
msgstr "Swap"
-#. desklet.js:347
+#. desklet.js:380
msgid "free of"
msgstr "liberi su"
-#. desklet.js:363
+#. desklet.js:396
msgid "GPU Usage"
msgstr "Utilizzo GPU"
-#. desklet.js:385
+#. desklet.js:418
msgid "GPU Memory"
msgstr "Memoria GPU"
-#. desklet.js:401
+#. desklet.js:434
#, fuzzy
msgid "GPU Temperature"
msgstr "Produttore GPU"
#. settings-schema.json->type->options
-#. desklet.js:415
+#. desklet.js:448
msgid "Network"
msgstr "Rete"
#. settings-schema.json->type->options
-#. desklet.js:428
+#. desklet.js:461
msgid "Battery"
msgstr ""
-#. desklet.js:431
+#. desklet.js:464
msgid "Fully charged"
msgstr ""
-#. desklet.js:432
+#. desklet.js:465
msgid "Not charging"
msgstr ""
-#. desklet.js:434
+#. desklet.js:467
msgid " hrs"
msgstr ""
-#. desklet.js:655 desklet.js:678
+#. desklet.js:688 desklet.js:711
msgid "b"
msgstr "b"
-#. desklet.js:657 desklet.js:692 desklet.js:706
+#. desklet.js:690 desklet.js:725 desklet.js:739
msgid "B"
msgstr "B"
-#. desklet.js:670
+#. desklet.js:703
msgid "Gb"
msgstr "Gb"
-#. desklet.js:673
+#. desklet.js:706
msgid "Mb"
msgstr "Mb"
-#. desklet.js:676
+#. desklet.js:709
msgid "Kb"
msgstr "Kb"
-#. desklet.js:687
+#. desklet.js:720
msgid "MB"
msgstr "MB"
-#. desklet.js:690
+#. desklet.js:723
msgid "KB"
msgstr "KB"
-#. desklet.js:701
+#. desklet.js:734
msgid "MiB"
msgstr "MiB"
-#. desklet.js:704
+#. desklet.js:737
msgid "KiB"
msgstr "KiB"
@@ -173,6 +196,10 @@ msgstr "Utilizzo"
msgid "Temperature"
msgstr ""
+#. settings-schema.json->cpu-variable->options
+msgid "Fan Speed"
+msgstr ""
+
#. settings-schema.json->temperature-units-cpu->options
#. settings-schema.json->temperature-units-gpu->options
msgid "°C"
@@ -250,7 +277,8 @@ msgstr "Interfaccia di rete da monitorare"
#. settings-schema.json->network-interface->tooltip
msgid ""
-"Leave empty to monitor all interfaces combined. Examples: eth0, wlan0, enp0s3"
+"Leave empty to monitor all interfaces combined. Examples: eth0, wlan0, "
+"enp0s3"
msgstr ""
"Lasciare vuoto per monitorare tutte le interfacce combinate. Esempi: eth0, "
"wlan0, enp0s3"
diff --git a/files/system-monitor-graph@rcassani/po/nl.po b/files/system-monitor-graph@rcassani/po/nl.po
index ba6e2e5..345402c 100644
--- a/files/system-monitor-graph@rcassani/po/nl.po
+++ b/files/system-monitor-graph@rcassani/po/nl.po
@@ -6,9 +6,8 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
-"Report-Msgid-Bugs-To: https://github.com/linuxmint/cinnamon-spices-desklets/"
-"issues\n"
-"POT-Creation-Date: 2026-03-23 21:24-0400\n"
+"Report-Msgid-Bugs-To: https://github.com/linuxmint/cinnamon-spices-desklets/issues\n"
+"POT-Creation-Date: 2026-07-22 14:45+0530\n"
"PO-Revision-Date: 2025-08-25 16:25+0200\n"
"Last-Translator: qadzek\n"
"Language-Team: \n"
@@ -18,104 +17,128 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
#. settings-schema.json->type->options
-#. desklet.js:275
+#. desklet.js:288
msgid "CPU"
msgstr "CPU"
-#. desklet.js:284
+#. desklet.js:297
msgid "CPU Temperature"
msgstr ""
-#. desklet.js:301 desklet.js:319 desklet.js:339 desklet.js:380 desklet.js:684
+#. desklet.js:309
+msgid "CPU Fan"
+msgstr ""
+
+#. desklet.js:313
+msgid "RPM"
+msgstr ""
+
+#. desklet.js:314
+msgid "On"
+msgstr ""
+
+#. desklet.js:316
+msgid "Off"
+msgstr ""
+
+#. desklet.js:319
+msgid "Not detected"
+msgstr ""
+
+#. desklet.js:321
+msgid "Detecting..."
+msgstr ""
+
+#. desklet.js:334 desklet.js:352 desklet.js:372 desklet.js:413 desklet.js:717
msgid "GB"
msgstr "GB"
-#. desklet.js:304 desklet.js:322 desklet.js:342 desklet.js:383 desklet.js:698
+#. desklet.js:337 desklet.js:355 desklet.js:375 desklet.js:416 desklet.js:731
msgid "GiB"
msgstr "GiB"
#. settings-schema.json->type->options
-#. desklet.js:306
+#. desklet.js:339
msgid "RAM"
msgstr "RAM"
#. settings-schema.json->type->options
-#. desklet.js:324
+#. desklet.js:357
msgid "Swap"
msgstr "Swap"
-#. desklet.js:347
+#. desklet.js:380
msgid "free of"
msgstr "vrij van"
-#. desklet.js:363
+#. desklet.js:396
msgid "GPU Usage"
msgstr "GPU Gebruik"
-#. desklet.js:385
+#. desklet.js:418
msgid "GPU Memory"
msgstr "GPU Geheugen"
-#. desklet.js:401
+#. desklet.js:434
#, fuzzy
msgid "GPU Temperature"
msgstr "GPU fabrikant"
#. settings-schema.json->type->options
-#. desklet.js:415
+#. desklet.js:448
msgid "Network"
msgstr "Netwerk"
#. settings-schema.json->type->options
-#. desklet.js:428
+#. desklet.js:461
msgid "Battery"
msgstr ""
-#. desklet.js:431
+#. desklet.js:464
msgid "Fully charged"
msgstr ""
-#. desklet.js:432
+#. desklet.js:465
msgid "Not charging"
msgstr ""
-#. desklet.js:434
+#. desklet.js:467
msgid " hrs"
msgstr ""
-#. desklet.js:655 desklet.js:678
+#. desklet.js:688 desklet.js:711
msgid "b"
msgstr "b"
-#. desklet.js:657 desklet.js:692 desklet.js:706
+#. desklet.js:690 desklet.js:725 desklet.js:739
msgid "B"
msgstr "B"
-#. desklet.js:670
+#. desklet.js:703
msgid "Gb"
msgstr "Gb"
-#. desklet.js:673
+#. desklet.js:706
msgid "Mb"
msgstr "Mb"
-#. desklet.js:676
+#. desklet.js:709
msgid "Kb"
msgstr "Kb"
-#. desklet.js:687
+#. desklet.js:720
msgid "MB"
msgstr "MB"
-#. desklet.js:690
+#. desklet.js:723
msgid "KB"
msgstr "KB"
-#. desklet.js:701
+#. desklet.js:734
msgid "MiB"
msgstr "MiB"
-#. desklet.js:704
+#. desklet.js:737
msgid "KiB"
msgstr "KiB"
@@ -171,6 +194,10 @@ msgstr "Gebruik"
msgid "Temperature"
msgstr ""
+#. settings-schema.json->cpu-variable->options
+msgid "Fan Speed"
+msgstr ""
+
#. settings-schema.json->temperature-units-cpu->options
#. settings-schema.json->temperature-units-gpu->options
msgid "°C"
@@ -248,7 +275,8 @@ msgstr "Netwerkinterface om te monitoren"
#. settings-schema.json->network-interface->tooltip
msgid ""
-"Leave empty to monitor all interfaces combined. Examples: eth0, wlan0, enp0s3"
+"Leave empty to monitor all interfaces combined. Examples: eth0, wlan0, "
+"enp0s3"
msgstr ""
"Leeg laten om alle interfaces samen te monitoren. Voorbeelden: eth0, wlan0, "
"enp0s3"
diff --git a/files/system-monitor-graph@rcassani/po/pt_BR.po b/files/system-monitor-graph@rcassani/po/pt_BR.po
index e27fb97..247b015 100644
--- a/files/system-monitor-graph@rcassani/po/pt_BR.po
+++ b/files/system-monitor-graph@rcassani/po/pt_BR.po
@@ -6,9 +6,8 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
-"Report-Msgid-Bugs-To: https://github.com/linuxmint/cinnamon-spices-desklets/"
-"issues\n"
-"POT-Creation-Date: 2026-03-23 21:24-0400\n"
+"Report-Msgid-Bugs-To: https://github.com/linuxmint/cinnamon-spices-desklets/issues\n"
+"POT-Creation-Date: 2026-07-22 14:45+0530\n"
"PO-Revision-Date: 2021-11-29 15:20-0300\n"
"Last-Translator: Marcelo Aof\n"
"Language-Team: \n"
@@ -16,110 +15,134 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 3.0\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Generator: Poedit 3.0\n"
#. settings-schema.json->type->options
-#. desklet.js:275
+#. desklet.js:288
msgid "CPU"
msgstr "CPU"
-#. desklet.js:284
+#. desklet.js:297
msgid "CPU Temperature"
msgstr ""
-#. desklet.js:301 desklet.js:319 desklet.js:339 desklet.js:380 desklet.js:684
+#. desklet.js:309
+msgid "CPU Fan"
+msgstr ""
+
+#. desklet.js:313
+msgid "RPM"
+msgstr ""
+
+#. desklet.js:314
+msgid "On"
+msgstr ""
+
+#. desklet.js:316
+msgid "Off"
+msgstr ""
+
+#. desklet.js:319
+msgid "Not detected"
+msgstr ""
+
+#. desklet.js:321
+msgid "Detecting..."
+msgstr ""
+
+#. desklet.js:334 desklet.js:352 desklet.js:372 desklet.js:413 desklet.js:717
msgid "GB"
msgstr "GB"
-#. desklet.js:304 desklet.js:322 desklet.js:342 desklet.js:383 desklet.js:698
+#. desklet.js:337 desklet.js:355 desklet.js:375 desklet.js:416 desklet.js:731
msgid "GiB"
msgstr "GiB"
#. settings-schema.json->type->options
-#. desklet.js:306
+#. desklet.js:339
msgid "RAM"
msgstr "RAM"
#. settings-schema.json->type->options
-#. desklet.js:324
+#. desklet.js:357
msgid "Swap"
msgstr ""
-#. desklet.js:347
+#. desklet.js:380
msgid "free of"
msgstr "livres de"
-#. desklet.js:363
+#. desklet.js:396
msgid "GPU Usage"
msgstr "Uso da GPU"
-#. desklet.js:385
+#. desklet.js:418
msgid "GPU Memory"
msgstr "Memória da GPU"
-#. desklet.js:401
+#. desklet.js:434
#, fuzzy
msgid "GPU Temperature"
msgstr "Fabricante da GPU"
#. settings-schema.json->type->options
-#. desklet.js:415
+#. desklet.js:448
msgid "Network"
msgstr ""
#. settings-schema.json->type->options
-#. desklet.js:428
+#. desklet.js:461
msgid "Battery"
msgstr ""
-#. desklet.js:431
+#. desklet.js:464
msgid "Fully charged"
msgstr ""
-#. desklet.js:432
+#. desklet.js:465
msgid "Not charging"
msgstr ""
-#. desklet.js:434
+#. desklet.js:467
msgid " hrs"
msgstr ""
-#. desklet.js:655 desklet.js:678
+#. desklet.js:688 desklet.js:711
msgid "b"
msgstr ""
-#. desklet.js:657 desklet.js:692 desklet.js:706
+#. desklet.js:690 desklet.js:725 desklet.js:739
#, fuzzy
msgid "B"
msgstr "GB"
-#. desklet.js:670
+#. desklet.js:703
msgid "Gb"
msgstr ""
-#. desklet.js:673
+#. desklet.js:706
msgid "Mb"
msgstr ""
-#. desklet.js:676
+#. desklet.js:709
msgid "Kb"
msgstr ""
-#. desklet.js:687
+#. desklet.js:720
msgid "MB"
msgstr ""
-#. desklet.js:690
+#. desklet.js:723
msgid "KB"
msgstr ""
-#. desklet.js:701
+#. desklet.js:734
#, fuzzy
msgid "MiB"
msgstr "GiB"
-#. desklet.js:704
+#. desklet.js:737
#, fuzzy
msgid "KiB"
msgstr "GiB"
@@ -176,6 +199,10 @@ msgstr "Uso"
msgid "Temperature"
msgstr ""
+#. settings-schema.json->cpu-variable->options
+msgid "Fan Speed"
+msgstr ""
+
#. settings-schema.json->temperature-units-cpu->options
#. settings-schema.json->temperature-units-gpu->options
msgid "°C"
@@ -254,7 +281,8 @@ msgstr "Selecione a variável da GPU para monitorar."
#. settings-schema.json->network-interface->tooltip
msgid ""
-"Leave empty to monitor all interfaces combined. Examples: eth0, wlan0, enp0s3"
+"Leave empty to monitor all interfaces combined. Examples: eth0, wlan0, "
+"enp0s3"
msgstr ""
#. settings-schema.json->battery-name->description
diff --git a/files/system-monitor-graph@rcassani/po/ro.po b/files/system-monitor-graph@rcassani/po/ro.po
index 603118c..b41d338 100644
--- a/files/system-monitor-graph@rcassani/po/ro.po
+++ b/files/system-monitor-graph@rcassani/po/ro.po
@@ -6,9 +6,8 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
-"Report-Msgid-Bugs-To: https://github.com/linuxmint/cinnamon-spices-desklets/"
-"issues\n"
-"POT-Creation-Date: 2026-03-23 21:24-0400\n"
+"Report-Msgid-Bugs-To: https://github.com/linuxmint/cinnamon-spices-desklets/issues\n"
+"POT-Creation-Date: 2026-07-22 14:45+0530\n"
"PO-Revision-Date: 2022-04-17 23:21+0200\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -16,110 +15,133 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < "
-"20)) ? 1 : 2;\n"
+"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < 20)) ? 1 : 2;\n"
#. settings-schema.json->type->options
-#. desklet.js:275
+#. desklet.js:288
msgid "CPU"
msgstr "CPU"
-#. desklet.js:284
+#. desklet.js:297
msgid "CPU Temperature"
msgstr ""
-#. desklet.js:301 desklet.js:319 desklet.js:339 desklet.js:380 desklet.js:684
+#. desklet.js:309
+msgid "CPU Fan"
+msgstr ""
+
+#. desklet.js:313
+msgid "RPM"
+msgstr ""
+
+#. desklet.js:314
+msgid "On"
+msgstr ""
+
+#. desklet.js:316
+msgid "Off"
+msgstr ""
+
+#. desklet.js:319
+msgid "Not detected"
+msgstr ""
+
+#. desklet.js:321
+msgid "Detecting..."
+msgstr ""
+
+#. desklet.js:334 desklet.js:352 desklet.js:372 desklet.js:413 desklet.js:717
msgid "GB"
msgstr "GB"
-#. desklet.js:304 desklet.js:322 desklet.js:342 desklet.js:383 desklet.js:698
+#. desklet.js:337 desklet.js:355 desklet.js:375 desklet.js:416 desklet.js:731
msgid "GiB"
msgstr "GiB"
#. settings-schema.json->type->options
-#. desklet.js:306
+#. desklet.js:339
msgid "RAM"
msgstr "RAM"
#. settings-schema.json->type->options
-#. desklet.js:324
+#. desklet.js:357
msgid "Swap"
msgstr "Schimbă"
-#. desklet.js:347
+#. desklet.js:380
msgid "free of"
msgstr "liber din"
-#. desklet.js:363
+#. desklet.js:396
msgid "GPU Usage"
msgstr "Utilizare GPU"
-#. desklet.js:385
+#. desklet.js:418
msgid "GPU Memory"
msgstr "Memorie GPU"
-#. desklet.js:401
+#. desklet.js:434
#, fuzzy
msgid "GPU Temperature"
msgstr "Producător GPU"
#. settings-schema.json->type->options
-#. desklet.js:415
+#. desklet.js:448
msgid "Network"
msgstr ""
#. settings-schema.json->type->options
-#. desklet.js:428
+#. desklet.js:461
msgid "Battery"
msgstr ""
-#. desklet.js:431
+#. desklet.js:464
msgid "Fully charged"
msgstr ""
-#. desklet.js:432
+#. desklet.js:465
msgid "Not charging"
msgstr ""
-#. desklet.js:434
+#. desklet.js:467
msgid " hrs"
msgstr ""
-#. desklet.js:655 desklet.js:678
+#. desklet.js:688 desklet.js:711
msgid "b"
msgstr ""
-#. desklet.js:657 desklet.js:692 desklet.js:706
+#. desklet.js:690 desklet.js:725 desklet.js:739
#, fuzzy
msgid "B"
msgstr "GB"
-#. desklet.js:670
+#. desklet.js:703
msgid "Gb"
msgstr ""
-#. desklet.js:673
+#. desklet.js:706
msgid "Mb"
msgstr ""
-#. desklet.js:676
+#. desklet.js:709
msgid "Kb"
msgstr ""
-#. desklet.js:687
+#. desklet.js:720
msgid "MB"
msgstr ""
-#. desklet.js:690
+#. desklet.js:723
msgid "KB"
msgstr ""
-#. desklet.js:701
+#. desklet.js:734
#, fuzzy
msgid "MiB"
msgstr "GiB"
-#. desklet.js:704
+#. desklet.js:737
#, fuzzy
msgid "KiB"
msgstr "GiB"
@@ -176,6 +198,10 @@ msgstr "Utilizare"
msgid "Temperature"
msgstr ""
+#. settings-schema.json->cpu-variable->options
+msgid "Fan Speed"
+msgstr ""
+
#. settings-schema.json->temperature-units-cpu->options
#. settings-schema.json->temperature-units-gpu->options
msgid "°C"
@@ -254,7 +280,8 @@ msgstr "Selectează variabila GPU care urmează să fie monitorizată."
#. settings-schema.json->network-interface->tooltip
msgid ""
-"Leave empty to monitor all interfaces combined. Examples: eth0, wlan0, enp0s3"
+"Leave empty to monitor all interfaces combined. Examples: eth0, wlan0, "
+"enp0s3"
msgstr ""
#. settings-schema.json->battery-name->description
@@ -468,5 +495,5 @@ msgstr "Numărul de linii verticale din grilă"
#. settings-schema.json->scale-size->description
msgid "Scale factor for desklet size (scale factor of 1 = 330 x 120 px)"
msgstr ""
-"Factorul de scară pentru dimensiunea deskletului (factor de scară de 1 = 330 "
-"x 120 px)"
+"Factorul de scară pentru dimensiunea deskletului (factor de scară de 1 = 330"
+" x 120 px)"
diff --git a/files/system-monitor-graph@rcassani/po/ru.po b/files/system-monitor-graph@rcassani/po/ru.po
index 4ebb36a..083afda 100644
--- a/files/system-monitor-graph@rcassani/po/ru.po
+++ b/files/system-monitor-graph@rcassani/po/ru.po
@@ -2,9 +2,8 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
-"Report-Msgid-Bugs-To: https://github.com/linuxmint/cinnamon-spices-desklets/"
-"issues\n"
-"POT-Creation-Date: 2026-03-23 21:24-0400\n"
+"Report-Msgid-Bugs-To: https://github.com/linuxmint/cinnamon-spices-desklets/issues\n"
+"POT-Creation-Date: 2026-07-22 14:45+0530\n"
"PO-Revision-Date: \n"
"Last-Translator: blogdron\n"
"Language-Team: \n"
@@ -15,104 +14,128 @@ msgstr ""
"X-Generator: Poedit 3.4.2\n"
#. settings-schema.json->type->options
-#. desklet.js:275
+#. desklet.js:288
msgid "CPU"
msgstr "Процессор"
-#. desklet.js:284
+#. desklet.js:297
msgid "CPU Temperature"
msgstr ""
-#. desklet.js:301 desklet.js:319 desklet.js:339 desklet.js:380 desklet.js:684
+#. desklet.js:309
+msgid "CPU Fan"
+msgstr ""
+
+#. desklet.js:313
+msgid "RPM"
+msgstr ""
+
+#. desklet.js:314
+msgid "On"
+msgstr ""
+
+#. desklet.js:316
+msgid "Off"
+msgstr ""
+
+#. desklet.js:319
+msgid "Not detected"
+msgstr ""
+
+#. desklet.js:321
+msgid "Detecting..."
+msgstr ""
+
+#. desklet.js:334 desklet.js:352 desklet.js:372 desklet.js:413 desklet.js:717
msgid "GB"
msgstr "ГБ"
-#. desklet.js:304 desklet.js:322 desklet.js:342 desklet.js:383 desklet.js:698
+#. desklet.js:337 desklet.js:355 desklet.js:375 desklet.js:416 desklet.js:731
msgid "GiB"
msgstr "ГиБ"
#. settings-schema.json->type->options
-#. desklet.js:306
+#. desklet.js:339
msgid "RAM"
msgstr "Память"
#. settings-schema.json->type->options
-#. desklet.js:324
+#. desklet.js:357
msgid "Swap"
msgstr "Подкачка"
-#. desklet.js:347
+#. desklet.js:380
msgid "free of"
msgstr "свободно из"
-#. desklet.js:363
+#. desklet.js:396
msgid "GPU Usage"
msgstr "Видеокарта"
-#. desklet.js:385
+#. desklet.js:418
msgid "GPU Memory"
msgstr "Память видеокарты"
-#. desklet.js:401
+#. desklet.js:434
#, fuzzy
msgid "GPU Temperature"
msgstr "Производитель GPU"
#. settings-schema.json->type->options
-#. desklet.js:415
+#. desklet.js:448
msgid "Network"
msgstr "Сеть"
#. settings-schema.json->type->options
-#. desklet.js:428
+#. desklet.js:461
msgid "Battery"
msgstr ""
-#. desklet.js:431
+#. desklet.js:464
msgid "Fully charged"
msgstr ""
-#. desklet.js:432
+#. desklet.js:465
msgid "Not charging"
msgstr ""
-#. desklet.js:434
+#. desklet.js:467
msgid " hrs"
msgstr ""
-#. desklet.js:655 desklet.js:678
+#. desklet.js:688 desklet.js:711
msgid "b"
msgstr "б"
-#. desklet.js:657 desklet.js:692 desklet.js:706
+#. desklet.js:690 desklet.js:725 desklet.js:739
msgid "B"
msgstr "Б"
-#. desklet.js:670
+#. desklet.js:703
msgid "Gb"
msgstr "Гб"
-#. desklet.js:673
+#. desklet.js:706
msgid "Mb"
msgstr "Мб"
-#. desklet.js:676
+#. desklet.js:709
msgid "Kb"
msgstr "Кб"
-#. desklet.js:687
+#. desklet.js:720
msgid "MB"
msgstr "МБ"
-#. desklet.js:690
+#. desklet.js:723
msgid "KB"
msgstr "КБ"
-#. desklet.js:701
+#. desklet.js:734
msgid "MiB"
msgstr "МиБ"
-#. desklet.js:704
+#. desklet.js:737
msgid "KiB"
msgstr "КиБ"
@@ -168,6 +191,10 @@ msgstr "Загрузка"
msgid "Temperature"
msgstr ""
+#. settings-schema.json->cpu-variable->options
+msgid "Fan Speed"
+msgstr ""
+
#. settings-schema.json->temperature-units-cpu->options
#. settings-schema.json->temperature-units-gpu->options
msgid "°C"
@@ -245,7 +272,8 @@ msgstr "Сетевой интерфейс"
#. settings-schema.json->network-interface->tooltip
msgid ""
-"Leave empty to monitor all interfaces combined. Examples: eth0, wlan0, enp0s3"
+"Leave empty to monitor all interfaces combined. Examples: eth0, wlan0, "
+"enp0s3"
msgstr ""
"Например, eth0, wlan0, enp0s3. Оставьте пустым, чтобы взять суммарные "
"значения по всем интерфейсам"
diff --git a/files/system-monitor-graph@rcassani/po/system-monitor-graph@rcassani.pot b/files/system-monitor-graph@rcassani/po/system-monitor-graph@rcassani.pot
index 1c7bca9..33c2661 100644
--- a/files/system-monitor-graph@rcassani/po/system-monitor-graph@rcassani.pot
+++ b/files/system-monitor-graph@rcassani/po/system-monitor-graph@rcassani.pot
@@ -1,14 +1,14 @@
# SYSTEM MONITOR GRAPH
# This file is put in the public domain.
-# rcassani, 2020
+# rcassani, 2026
#
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: system-monitor-graph@rcassani 2.0\n"
+"Project-Id-Version: system-monitor-graph@rcassani 2.2\n"
"Report-Msgid-Bugs-To: https://github.com/linuxmint/cinnamon-spices-desklets/"
"issues\n"
-"POT-Creation-Date: 2026-03-23 21:24-0400\n"
+"POT-Creation-Date: 2026-07-22 14:45+0530\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: \n"
@@ -18,103 +18,127 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
#. settings-schema.json->type->options
-#. desklet.js:275
+#. desklet.js:288
msgid "CPU"
msgstr ""
-#. desklet.js:284
+#. desklet.js:297
msgid "CPU Temperature"
msgstr ""
-#. desklet.js:301 desklet.js:319 desklet.js:339 desklet.js:380 desklet.js:684
+#. desklet.js:309
+msgid "CPU Fan"
+msgstr ""
+
+#. desklet.js:313
+msgid "RPM"
+msgstr ""
+
+#. desklet.js:314
+msgid "On"
+msgstr ""
+
+#. desklet.js:316
+msgid "Off"
+msgstr ""
+
+#. desklet.js:319
+msgid "Not detected"
+msgstr ""
+
+#. desklet.js:321
+msgid "Detecting..."
+msgstr ""
+
+#. desklet.js:334 desklet.js:352 desklet.js:372 desklet.js:413 desklet.js:717
msgid "GB"
msgstr ""
-#. desklet.js:304 desklet.js:322 desklet.js:342 desklet.js:383 desklet.js:698
+#. desklet.js:337 desklet.js:355 desklet.js:375 desklet.js:416 desklet.js:731
msgid "GiB"
msgstr ""
#. settings-schema.json->type->options
-#. desklet.js:306
+#. desklet.js:339
msgid "RAM"
msgstr ""
#. settings-schema.json->type->options
-#. desklet.js:324
+#. desklet.js:357
msgid "Swap"
msgstr ""
-#. desklet.js:347
+#. desklet.js:380
msgid "free of"
msgstr ""
-#. desklet.js:363
+#. desklet.js:396
msgid "GPU Usage"
msgstr ""
-#. desklet.js:385
+#. desklet.js:418
msgid "GPU Memory"
msgstr ""
-#. desklet.js:401
+#. desklet.js:434
msgid "GPU Temperature"
msgstr ""
#. settings-schema.json->type->options
-#. desklet.js:415
+#. desklet.js:448
msgid "Network"
msgstr ""
#. settings-schema.json->type->options
-#. desklet.js:428
+#. desklet.js:461
msgid "Battery"
msgstr ""
-#. desklet.js:431
+#. desklet.js:464
msgid "Fully charged"
msgstr ""
-#. desklet.js:432
+#. desklet.js:465
msgid "Not charging"
msgstr ""
-#. desklet.js:434
+#. desklet.js:467
msgid " hrs"
msgstr ""
-#. desklet.js:655 desklet.js:678
+#. desklet.js:688 desklet.js:711
msgid "b"
msgstr ""
-#. desklet.js:657 desklet.js:692 desklet.js:706
+#. desklet.js:690 desklet.js:725 desklet.js:739
msgid "B"
msgstr ""
-#. desklet.js:670
+#. desklet.js:703
msgid "Gb"
msgstr ""
-#. desklet.js:673
+#. desklet.js:706
msgid "Mb"
msgstr ""
-#. desklet.js:676
+#. desklet.js:709
msgid "Kb"
msgstr ""
-#. desklet.js:687
+#. desklet.js:720
msgid "MB"
msgstr ""
-#. desklet.js:690
+#. desklet.js:723
msgid "KB"
msgstr ""
-#. desklet.js:701
+#. desklet.js:734
msgid "MiB"
msgstr ""
-#. desklet.js:704
+#. desklet.js:737
msgid "KiB"
msgstr ""
@@ -168,6 +192,10 @@ msgstr ""
msgid "Temperature"
msgstr ""
+#. settings-schema.json->cpu-variable->options
+msgid "Fan Speed"
+msgstr ""
+
#. settings-schema.json->temperature-units-cpu->options
#. settings-schema.json->temperature-units-gpu->options
msgid "°C"
diff --git a/files/system-monitor-graph@rcassani/po/vi.po b/files/system-monitor-graph@rcassani/po/vi.po
index 1136013..f191ed7 100644
--- a/files/system-monitor-graph@rcassani/po/vi.po
+++ b/files/system-monitor-graph@rcassani/po/vi.po
@@ -6,9 +6,8 @@
msgid ""
msgstr ""
"Project-Id-Version: system-monitor-graph@rcassani 2.0\n"
-"Report-Msgid-Bugs-To: https://github.com/linuxmint/cinnamon-spices-desklets/"
-"issues\n"
-"POT-Creation-Date: 2026-03-23 21:24-0400\n"
+"Report-Msgid-Bugs-To: https://github.com/linuxmint/cinnamon-spices-desklets/issues\n"
+"POT-Creation-Date: 2026-07-22 14:45+0530\n"
"PO-Revision-Date: \n"
"Last-Translator: loccun \n"
"Language-Team: \n"
@@ -19,104 +18,128 @@ msgstr ""
"X-Generator: Poedit 3.4.2\n"
#. settings-schema.json->type->options
-#. desklet.js:275
+#. desklet.js:288
msgid "CPU"
msgstr "CPU"
-#. desklet.js:284
+#. desklet.js:297
msgid "CPU Temperature"
msgstr ""
-#. desklet.js:301 desklet.js:319 desklet.js:339 desklet.js:380 desklet.js:684
+#. desklet.js:309
+msgid "CPU Fan"
+msgstr ""
+
+#. desklet.js:313
+msgid "RPM"
+msgstr ""
+
+#. desklet.js:314
+msgid "On"
+msgstr ""
+
+#. desklet.js:316
+msgid "Off"
+msgstr ""
+
+#. desklet.js:319
+msgid "Not detected"
+msgstr ""
+
+#. desklet.js:321
+msgid "Detecting..."
+msgstr ""
+
+#. desklet.js:334 desklet.js:352 desklet.js:372 desklet.js:413 desklet.js:717
msgid "GB"
msgstr "GB"
-#. desklet.js:304 desklet.js:322 desklet.js:342 desklet.js:383 desklet.js:698
+#. desklet.js:337 desklet.js:355 desklet.js:375 desklet.js:416 desklet.js:731
msgid "GiB"
msgstr "GiB"
#. settings-schema.json->type->options
-#. desklet.js:306
+#. desklet.js:339
msgid "RAM"
msgstr "RAM"
#. settings-schema.json->type->options
-#. desklet.js:324
+#. desklet.js:357
msgid "Swap"
msgstr "Swap"
-#. desklet.js:347
+#. desklet.js:380
msgid "free of"
msgstr "trống trong"
-#. desklet.js:363
+#. desklet.js:396
msgid "GPU Usage"
msgstr "Sử dụng GPU"
-#. desklet.js:385
+#. desklet.js:418
msgid "GPU Memory"
msgstr "Bộ nhớ GPU"
-#. desklet.js:401
+#. desklet.js:434
#, fuzzy
msgid "GPU Temperature"
msgstr "Nhà sản xuất GPU"
#. settings-schema.json->type->options
-#. desklet.js:415
+#. desklet.js:448
msgid "Network"
msgstr "Mạng"
#. settings-schema.json->type->options
-#. desklet.js:428
+#. desklet.js:461
msgid "Battery"
msgstr ""
-#. desklet.js:431
+#. desklet.js:464
msgid "Fully charged"
msgstr ""
-#. desklet.js:432
+#. desklet.js:465
msgid "Not charging"
msgstr ""
-#. desklet.js:434
+#. desklet.js:467
msgid " hrs"
msgstr ""
-#. desklet.js:655 desklet.js:678
+#. desklet.js:688 desklet.js:711
msgid "b"
msgstr "b"
-#. desklet.js:657 desklet.js:692 desklet.js:706
+#. desklet.js:690 desklet.js:725 desklet.js:739
msgid "B"
msgstr "B"
-#. desklet.js:670
+#. desklet.js:703
msgid "Gb"
msgstr "Gb"
-#. desklet.js:673
+#. desklet.js:706
msgid "Mb"
msgstr "Mb"
-#. desklet.js:676
+#. desklet.js:709
msgid "Kb"
msgstr "Kb"
-#. desklet.js:687
+#. desklet.js:720
msgid "MB"
msgstr "MB"
-#. desklet.js:690
+#. desklet.js:723
msgid "KB"
msgstr "KB"
-#. desklet.js:701
+#. desklet.js:734
msgid "MiB"
msgstr "MiB"
-#. desklet.js:704
+#. desklet.js:737
msgid "KiB"
msgstr "KiB"
@@ -172,6 +195,10 @@ msgstr "Sử dụng"
msgid "Temperature"
msgstr ""
+#. settings-schema.json->cpu-variable->options
+msgid "Fan Speed"
+msgstr ""
+
#. settings-schema.json->temperature-units-cpu->options
#. settings-schema.json->temperature-units-gpu->options
msgid "°C"
@@ -249,9 +276,11 @@ msgstr "Giao diện mạng để giám sát"
#. settings-schema.json->network-interface->tooltip
msgid ""
-"Leave empty to monitor all interfaces combined. Examples: eth0, wlan0, enp0s3"
+"Leave empty to monitor all interfaces combined. Examples: eth0, wlan0, "
+"enp0s3"
msgstr ""
-"Để trống để giám sát tất cả các giao diện kết hợp. Ví dụ: eth0, wlan0, enp0s3"
+"Để trống để giám sát tất cả các giao diện kết hợp. Ví dụ: eth0, wlan0, "
+"enp0s3"
#. settings-schema.json->battery-name->description
#, fuzzy
diff --git a/files/system-monitor-graph@rcassani/settings-schema.json b/files/system-monitor-graph@rcassani/settings-schema.json
index 537bf4b..4516d7d 100644
--- a/files/system-monitor-graph@rcassani/settings-schema.json
+++ b/files/system-monitor-graph@rcassani/settings-schema.json
@@ -30,7 +30,8 @@
"tooltip": "Select the CPU variable to monitor.",
"options" : {
"Usage" : "usage",
- "Temperature" : "temperature"
+ "Temperature" : "temperature",
+ "Fan" : "fan"
},
"dependency": "type=cpu"
},
diff --git a/screenshot5.png b/screenshot5.png
new file mode 100644
index 0000000..2ceff9e
Binary files /dev/null and b/screenshot5.png differ