From f1ae949e08a764ac063703dc9bb7f0afd7c16e96 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 31 May 2012 00:03:48 +0000 Subject: Thu May 31 00:03:48 UTC 2012 --- extra/icewm/icewm-cpustatus.patch | 45 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 extra/icewm/icewm-cpustatus.patch (limited to 'extra/icewm/icewm-cpustatus.patch') diff --git a/extra/icewm/icewm-cpustatus.patch b/extra/icewm/icewm-cpustatus.patch new file mode 100644 index 000000000..9bb9241f0 --- /dev/null +++ b/extra/icewm/icewm-cpustatus.patch @@ -0,0 +1,45 @@ + icewm/src/acpustatus.cc | 31 +++++++++++++++++++++++++++++++ + 1 files changed, 31 insertions(+), 0 deletions(-) + +diff --git a/icewm/src/acpustatus.cc b/icewm/src/acpustatus.cc +index 5e959d6..b9e5450 100644 +--- a/icewm/src/acpustatus.cc ++++ b/icewm/src/acpustatus.cc +@@ -315,6 +315,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; + } + -- cgit v1.2.3-54-g00ecf