Xinqi Bao's Git
projects
/
slstatus.git
/ commitdiff
summary
|
log
|
commit
|
diff
|
tree
raw
|
patch
|
inline
| side by side (parent:
259e967
)
add cpu_freq function
author
Aaron Marcher <
[email protected]
>
Mon, 12 Jun 2017 21:56:21 +0000
(23:56 +0200)
committer
Aaron Marcher <
[email protected]
>
Mon, 12 Jun 2017 21:56:21 +0000
(23:56 +0200)
config.def.h
patch
|
blob
|
history
slstatus.c
patch
|
blob
|
history
diff --git
a/config.def.h
b/config.def.h
index
426cc28
..
da26001
100644
(file)
--- a/
config.def.h
+++ b/
config.def.h
@@
-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]
- 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]
- datetime (date and time) [argument: format]
- disk_free (free disk space in GB) [argument: mountpoint]
- disk_perc (disk usage in percent) [argument: mountpoint]
diff --git
a/slstatus.c
b/slstatus.c
index
caccc6e
..
993eba4
100644
(file)
--- a/
slstatus.c
+++ b/
slstatus.c
@@
-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 *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);
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)
{
static char *
cpu_perc(void)
{