Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37847881
en ru br
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


 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;
 }
 
 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin