slstatus

Fork of suckless' slstatus with my personal patches
git clone https://git.instinctive.eu/slstatus.git
Log | Files | Refs | README | LICENSE

commit 85a2b9b79d1f5422bee87ef9ca0cd33a02440c1c
parent 83c98554ed39f37921152804e9fda7f4b0da0527
Author: Aaron Marcher <info@nulltime.net>
Date:   Thu, 18 Aug 2016 13:43:18 +0200

added uptime function

Diffstat:
MREADME.md | 1+
Mconfig.def.h | 1+
Mslstatus.c | 18++++++++++++++++++
Mslstatus.h | 1+
4 files changed, 21 insertions(+), 0 deletions(-)

diff --git a/README.md b/README.md @@ -20,6 +20,7 @@ The following information is included: - load avg - ram numbers (free ram, percentage, total ram and used ram) - temperature +- uptime - volume percentage (alsa) - wifi percentage and essid diff --git a/config.def.h b/config.def.h @@ -34,6 +34,7 @@ static const char unknowntext[] = "n/a"; - run_command (run custom shell command) [argument: command] - temp (temperature in degrees) [argument: temperature file] - uid (uid of current user) [argument: NULL] +- uptime (uptime) [argument: NULL] - username (username of current user) [argument: NULL] - vol_perc (alsa volume and mute status in percent) [argument: soundcard] - wifi_perc (wifi signal in percent) [argument: wifi card interface name] diff --git a/slstatus.c b/slstatus.c @@ -18,6 +18,7 @@ #include <sys/stat.h> #include <sys/statvfs.h> #include <sys/socket.h> +#include <sys/sysinfo.h> #include <sys/types.h> #include <time.h> #include <unistd.h> @@ -521,6 +522,23 @@ temp(const char *file) return smprintf("%d°C", temperature / 1000); } +/* uptime */ +char * +uptime(const char *null) +{ + struct sysinfo info; + int hours = 0; + int minutes = 0; + + /* get info */ + sysinfo(&info); + hours = info.uptime / 3600; + minutes = (info.uptime - hours * 3600 ) / 60; + + /* return it */ + return smprintf("%dh %dm", hours, minutes); +} + /* username */ char * username(const char *null) diff --git a/slstatus.h b/slstatus.h @@ -33,6 +33,7 @@ char *ram_total(const char *); char *run_command(const char *); char *temp(const char *); char *uid(const char*); +char *uptime(const char*); char *username(const char*); char *vol_perc(const char *); char *wifi_perc(const char *);