Introduction
Introduction Statistics Contact Development Disclaimer Help
tIconify battery life and wifi signal strength - spoon - dwm status utility (2f…
git clone git://src.adamsgaard.dk/spoon
Log
Files
Refs
LICENSE
---
commit 0f6d5716f09b6b042efd70455e32a3838ead514d
parent 03e33d7ddbae0ec981cd4bbdd5f6c589e17e34f5
Author: lostd <[email protected]>
Date: Tue, 17 May 2016 10:11:50 +0100
Iconify battery life and wifi signal strength
Diffstat:
M spoon.c | 31 +++++++++++++++++++++++++++--…
1 file changed, 27 insertions(+), 4 deletions(-)
---
diff --git a/spoon.c b/spoon.c
t@@ -28,8 +28,8 @@ struct ent {
/* reorder this if you want */
{ .fmt = "[%s] ", .read = mpdread },
{ .fmt = "[%s] ", .read = xkblayoutread },
- { .fmt = "[%s%%] ", .read = battread },
- { .fmt = "[%s%%] ", .read = wifiread },
+ { .fmt = "%s ", .read = battread },
+ { .fmt = "%s ", .read = wifiread },
{ .fmt = "%s", .read = dateread },
};
t@@ -95,6 +95,8 @@ battread(char *buf, size_t len)
{
struct apm_power_info info;
int ret, fd;
+ char *icon;
+ char c;
fd = open("/dev/apm", O_RDONLY);
if (fd < 0) {
t@@ -108,7 +110,17 @@ battread(char *buf, size_t len)
return -1;
}
close(fd);
- snprintf(buf, len, "%d", info.battery_life);
+ c = info.ac_state == APM_AC_ON ? '>' : '<';
+ if (info.battery_life == 100)
+ snprintf(buf, len, "[////]=");
+ else if (info.battery_life >= 75)
+ snprintf(buf, len, "[///%c]=", c);
+ else if (info.battery_life >= 50)
+ snprintf(buf, len, "[//%c%c]=", c, c);
+ else if (info.battery_life >= 25)
+ snprintf(buf, len, "[/%c%c%c]=", c, c, c);
+ else
+ snprintf(buf, len, "[%c%c%c%c]=", c, c, c, c);
return 0;
}
t@@ -120,6 +132,7 @@ wifiread(char *buf, size_t len)
struct ieee80211_nodereq nr;
struct ieee80211_bssid bssid;
int s, ibssid, quality;
+ char *icon;
if (getifaddrs(&ifas) < 0) {
warn("getifaddrs");
t@@ -181,7 +194,17 @@ wifiread(char *buf, size_t len)
quality = IEEE80211_NODEREQ_RSSI(&nr);
}
- snprintf(buf, len, "%u", quality);
+ if (quality == 100)
+ icon = "::";
+ else if (quality >= 75)
+ icon = ":.";
+ else if (quality >= 50)
+ icon = "..";
+ else if (quality >= 25)
+ icon = ". ";
+ else
+ icon = " ";
+ snprintf(buf, len, "%s", icon);
break;
}
freeifaddrs(ifas);
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.