add cpu_freq function
authorAaron Marcher <info@nulltime.net>
Mon, 12 Jun 2017 21:56:21 +0000 (23:56 +0200)
committerAaron Marcher <info@nulltime.net>
Mon, 12 Jun 2017 21:56:21 +0000 (23:56 +0200)
config.def.h
slstatus.c

index 426cc288b1ce68e8883dd89670336ac6746717cd..da260014f6d96b0003e3279f3f08768792c94366 100644 (file)
@@ -11,6 +11,7 @@
 - battery_power (battery power usage) [argument: battery name]
 - battery_state (battery charging state) [argument: battery name]
 - cpu_perc (cpu usage in percent) [argument: NULL]
+- cpu_freq (cpu frequency) [argument: NULL]
 - datetime (date and time) [argument: format]
 - disk_free (free disk space in GB) [argument: mountpoint]
 - disk_perc (disk usage in percent) [argument: mountpoint]
index caccc6e8316c2c89fadfa2af8363a2833f1de6b1..993eba4468863d710b1b35c79dd714a0d6b3d45a 100644 (file)
@@ -37,6 +37,7 @@ static char *smprintf(const char *fmt, ...);
 static char *battery_perc(const char *bat);
 static char *battery_power(const char *bat);
 static char *battery_state(const char *bat);
+static char *cpu_freq(void);
 static char *cpu_perc(void);
 static char *datetime(const char *fmt);
 static char *disk_free(const char *mnt);
@@ -167,6 +168,23 @@ battery_state(const char *bat)
        }
 }
 
+static char *
+cpu_freq(void)
+{
+       int freq;
+       FILE *fp;
+
+       fp = fopen("/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq", "r");
+       if (fp == NULL) {
+               warn("Failed to open file /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq");
+               return smprintf("%s", UNKNOWN_STR);
+       }
+       fscanf(fp, "%i", &freq);
+       fclose(fp);
+
+       return smprintf("%d", (freq + 500) / 1000);
+}
+
 static char *
 cpu_perc(void)
 {