tConfigure for flaptop on OpenBSD - spoon - dwm status utility (2f30 fork)
(HTM) git clone git://src.adamsgaard.dk/spoon
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) LICENSE
---
(DIR) commit d500745cb3de6d6c475ccdccd96e7919bd56720e
(DIR) parent 774975c0a33418ee74e7f215aa82c671334f514e
(HTM) Author: Anders Damsgaard <anders@adamsgaard.dk>
Date: Fri, 17 Apr 2020 21:18:09 +0200
Configure for flaptop on OpenBSD
Diffstat:
M Makefile | 21 ++++++---------------
M batt.c | 22 ++++++++--------------
M count.c | 36 +++++++++++++++++--------------
A fileexists.c | 20 ++++++++++++++++++++
M load.c | 4 ++--
M spoon.c | 1 +
M wifi.c | 18 +++++++++---------
7 files changed, 66 insertions(+), 56 deletions(-)
---
(DIR) diff --git a/Makefile b/Makefile
t@@ -1,32 +1,23 @@
VERSION = 0.6
PREFIX = /usr/local
SRC = spoon.c batt.c wifi.c cpu.c count.c temp.c date.c load.c file.c key.c\
- netspeed.c strlcpy.c strlcat.c stub.c mix.c xkblayout.c mpd.c brightness.c
+ netspeed.c strlcpy.c strlcat.c stub.c mix.c xkblayout.c mpd.c\
+ brightness.c fileexists.c
OBJ = spoon.o batt.o wifi.o cpu.o count.o temp.o date.o load.o file.o key.o\
- netspeed.o strlcpy.o strlcat.o stub.o brightness.o
+ netspeed.o strlcpy.o strlcat.o stub.o brightness.o fileexists.o
BIN = spoon
DISTFILES = $(SRC) arg.h types.h util.h config.def.h Makefile LICENSE configure
-include config.mk
+#include config.mk
-CPPFLAGS_OpenBSD = -I/usr/X11R6/include -I/usr/local/include
-LDFLAGS_OpenBSD = -L/usr/X11R6/lib -L/usr/local/lib
-CPPFLAGS_Linux = -I/usr/local/include
-CPPFLAGS = $(CPPFLAGS_$(UNAME))
-LDFLAGS = $(LDFLAGS_$(UNAME))
+CPPFLAGS = -I/usr/X11R6/include -I/usr/local/include
+LDFLAGS = -L/usr/X11R6/lib -L/usr/local/lib
LDLIBS = -lX11
# To remove extra compile time dependencies for unwanted plugins
# comment out the following sections. The stub implementations
# from stub.c will be used instead.
OBJ += mix.o
-# if ALSA
-LDLIBS_Linux_mix = -lasound
-CPPFLAGS += -DUSE_TINYALSA=0
-# else TinyALSA
-#LDLIBS_Linux_mix = -ltinyalsa
-#CPPFLAGS += -DUSE_TINYALSA=1
-LDLIBS += $(LDLIBS_$(UNAME)_mix)
OBJ += xkblayout.o
LDLIBS += -lxkbfile
(DIR) diff --git a/batt.c b/batt.c
t@@ -10,24 +10,17 @@ char *crit[] = {
};
void
-battprint(char *buf, size_t len, int acon, int life)
+battprint(char *buf, size_t len, int acon, int life, int remain)
{
char c;
static int frame = 0;
- c = acon ? '>' : '<';
- if (!acon && life <= 5)
- snprintf(buf, len, "%s", crit[frame++ % LEN(crit)]);
- else if (life >= 80)
- snprintf(buf, len, "[////]=");
- else if (life >= 60)
- snprintf(buf, len, "[///%c]=", c);
- else if (life >= 40)
- snprintf(buf, len, "[//%c%c]=", c, c);
- else if (life >= 20)
- snprintf(buf, len, "[/%c%c%c]=", c, c, c);
+ c = acon ? '=' : ' ';
+ if (c == ' ')
+ snprintf(buf, len, "%d%% %d min", life, remain);
else
- snprintf(buf, len, "[%c%c%c%c]=", c, c, c, c);
+ snprintf(buf, len, "%d%%", life);
+
}
#ifdef __OpenBSD__
t@@ -60,7 +53,8 @@ battread(void *arg, char *buf, size_t len)
if (info.battery_state == APM_BATTERY_ABSENT)
snprintf(buf, len, "[no batt]");
else
- battprint(buf, len, info.ac_state == APM_AC_ON, info.battery_life);
+ battprint(buf, len, info.ac_state == APM_AC_ON,
+ info.battery_life, info.minutes_left);
return 0;
}
#elif __linux__
(DIR) diff --git a/count.c b/count.c
t@@ -6,24 +6,28 @@
int
countread(void *arg, char *buf, size_t len)
{
- char *path = arg;
- unsigned long count = 0;
- struct dirent *e;
- DIR *d;
+ char *path = arg;
+ unsigned long count = 0;
+ struct dirent *e;
+ DIR *d;
- if ((d = opendir(path)) == NULL) {
- warn("open %s", path);
- return -1;
- }
+ if ((d = opendir(path)) == NULL) {
+ warn("open %s", path);
+ return -1;
+ }
- while ((e = readdir(d)) != NULL) {
- if (!strcmp(e->d_name, ".") || !strcmp(e->d_name, ".."))
- continue;
- ++count;
- }
- closedir(d);
+ while ((e = readdir(d)) != NULL) {
+ if (!strcmp(e->d_name, ".") || !strcmp(e->d_name, ".."))
+ continue;
+ ++count;
+ }
+ closedir(d);
- snprintf(buf, len, "%lu", count);
+ if (count > 0)
+ snprintf(buf, len, " m: %lu |", count);
+ else
+ snprintf(buf, len, "");
+
- return 0;
+ return 0;
}
(DIR) diff --git a/fileexists.c b/fileexists.c
t@@ -0,0 +1,20 @@
+#include <stdio.h>
+#include <err.h>
+#include <fcntl.h>
+#include <unistd.h>
+
+int
+fileexists(void *arg, char *buf, size_t len)
+{
+ char *path = arg;
+ ssize_t n;
+ int fd;
+
+ fd = open(path, O_RDONLY);
+ if (fd == -1)
+ snprintf(buf, len, "");
+ else
+ snprintf(buf, len, " R |");
+ close(fd);
+ return 0;
+}
(DIR) diff --git a/load.c b/load.c
t@@ -8,7 +8,7 @@ loadread(void *arg, char *buf, size_t len)
if (getloadavg(avgs, 3) < 0)
return -1;
- snprintf(buf, len, "%.2f %.2f %.2f",
- avgs[0], avgs[1], avgs[2]);
+ snprintf(buf, len, "%.2f",
+ avgs[0]);
return 0;
}
(DIR) diff --git a/spoon.c b/spoon.c
t@@ -25,6 +25,7 @@ int keyread(void *, char *, size_t);
int netspeedread(void *, char *, size_t);
int brightnessread(void *, char *, size_t);
int countread(void *, char *, size_t);
+int fileexists(void *, char *, size_t);
struct ent {
char *fmt;
(DIR) diff --git a/wifi.c b/wifi.c
t@@ -9,21 +9,21 @@
#include "util.h"
void
-wifiprint(char *buf, size_t len, int quality)
+wifiprint(char *buf, size_t len, int quality, u_int8_t *ssid)
{
char *icon;
if (quality == 100)
- icon = "::";
+ icon = ":D";
else if (quality >= 75)
- icon = ":.";
+ icon = ":)";
else if (quality >= 50)
- icon = "..";
+ icon = ":|";
else if (quality >= 25)
- icon = ". ";
+ icon = ":(";
else
- icon = " ";
- snprintf(buf, len, "%s", icon);
+ icon = ":o";
+ snprintf(buf, len, "%s %s", ssid, icon);
}
#ifdef __OpenBSD__
t@@ -94,7 +94,7 @@ wifiread(void *arg, char *buf, size_t len)
DPRINTF_D(quality);
if (quality == -1)
return -1;
- wifiprint(buf, len, quality);
+ wifiprint(buf, len, quality, nr.nr_nwid);
return 0;
}
#elif __linux__
t@@ -182,7 +182,7 @@ wifiread(void *arg, char *buf, size_t len)
DPRINTF_D(quality);
if (quality == -1)
return -1;
- wifiprint(buf, len, quality);
+ wifiprint(buf, len, quality, "asdf");
return 0;
}
#endif