ALT Linux repos
S: | 3.4.2-alt1 |
5.0: | 1.2.36-alt2.1 |
4.1: | 1.2.35-alt2.1 |
4.0: | 1.2.32-alt2.1 |
3.0: | 1.2.23-alt1 |
+backports: | 1.2.30-alt1.M30.1 |
Group :: Graphical desktop/Icewm
RPM: icewm
Main Changelog Spec Patches Sources Download Gear Bugs and FR Repocop
Patch: icewm-alt-cpustatus.patch
Download
Download
icewm/src/acpustatus.cc | 31 +++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)
diff --git a/icewm/src/acpustatus.cc b/icewm/src/acpustatus.cc
index 1033187..76fbdc2 100644
--- a/icewm/src/acpustatus.cc
+++ b/icewm/src/acpustatus.cc
@@ -319,6 +319,37 @@ int CPUStatus::getAcpiTemp(char *tempbuf, int buflen) {
}
closedir(dir);
}
+ else if ((dir = opendir("/sys/class/thermal")) != NULL) {
+ struct dirent *de;
+
+ while ((de = readdir(dir)) != NULL) {
+
+ int fd, seglen;
+
+ if (strcmp(de->d_name, ".") == 0 || strcmp(de->d_name, "..") == 0)
+ continue;
+
+ sprintf(namebuf, "/sys/class/thermal/%s/temp", de->d_name);
+ fd = open(namebuf, O_RDONLY);
+ if (fd != -1) {
+ int len = read(fd, buf, sizeof(buf) - 1);
+ buf[len - 4] = '\0';
+ seglen = strlen(buf) + 4;
+ if (retbuflen + seglen >= buflen) {
+ retbuflen = -retbuflen;
+ close(fd);
+ closedir(dir);
+ break;
+ }
+ retbuflen += seglen;
+ strcat(tempbuf, " ");
+ strncat(tempbuf, buf, seglen);
+ strcat(tempbuf, " C");
+ close(fd);
+ }
+ }
+ closedir(dir);
+ }
return retbuflen;
}