diff --git a/LICENSE b/LICENSE index 70b9fb3..8bee9c8 100644 --- a/LICENSE +++ b/LICENSE @@ -9,7 +9,7 @@ Copyright 2016-2018 Ali H. Fardan Copyright 2016 Jody Leonard Copyright 2016-2018 Quentin Rameau Copyright 2016 Mike Coddington -Copyright 2016-2018 parazyd +Copyright 2016-2018 Ivan J. Copyright 2017 Tobias Stoeckmann Copyright 2017-2018 Laslo Hunhold Copyright 2018 Darron Anderson @@ -21,12 +21,14 @@ Copyright 2018 Ian Remmler Copyright 2016-2019 Joerg Jung Copyright 2019 Ryan Kes Copyright 2019 Cem Keylan -Copyright 2019 dsp +Copyright 2019 Dimitris Papastamos Copyright 2019-2022 Ingo Feinerer Copyright 2020 Alexandre Ratchov Copyright 2020 Mart Lubbers Copyright 2020 Daniel Moch -Copyright 2022 NRK +Copyright 2022 Nickolas Raymond Kaczynski +Copyright 2022 Patrick Iacob +Copyright 2021-2022 Steven Ward Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above diff --git a/Makefile b/Makefile index 7834257..7a18274 100644 --- a/Makefile +++ b/Makefile @@ -44,14 +44,15 @@ slstatus: slstatus.o $(COM:=.o) $(REQ:=.o) $(CC) -o $@ $(LDFLAGS) $(COM:=.o) $(REQ:=.o) slstatus.o $(LDLIBS) clean: - rm -f slstatus slstatus.o $(COM:=.o) $(REQ:=.o) + rm -f slstatus slstatus.o $(COM:=.o) $(REQ:=.o) slstatus-${VERSION}.tar.gz dist: rm -rf "slstatus-$(VERSION)" mkdir -p "slstatus-$(VERSION)/components" cp -R LICENSE Makefile README config.mk config.def.h \ - arg.h slstatus.c $(COM:=.c) $(REQ:=.c) $(REQ:=.h) \ + arg.h slstatus.h slstatus.c $(REQ:=.c) $(REQ:=.h) \ slstatus.1 "slstatus-$(VERSION)" + cp -R $(COM:=.c) "slstatus-$(VERSION)/components" tar -cf - "slstatus-$(VERSION)" | gzip -c > "slstatus-$(VERSION).tar.gz" rm -rf "slstatus-$(VERSION)" diff --git a/README b/README index 7b50895..12d38bf 100644 --- a/README +++ b/README @@ -1,7 +1,9 @@ slstatus - suckless status ========================== -slstatus is a suckless status monitor for window managers that use WM_NAME -(e.g. dwm) or stdin to fill the status bar. +slstatus is a small tool for providing system status information to other +programs over the EWMH property of the root window (used by dwm(1)) or +standard input/output. It is designed to be as efficient as possible by +only issuing the minimum of system calls required. Features @@ -61,9 +63,3 @@ Configuration ------------- slstatus can be customized by creating a custom config.h and (re)compiling the source code. This keeps it fast, secure and simple. - - -Upcoming --------- -A first feature-complete release with official packages for common distributions -will come soon. diff --git a/components/entropy.c b/components/entropy.c index 66b2e5a..65010b0 100644 --- a/components/entropy.c +++ b/components/entropy.c @@ -22,7 +22,8 @@ const char * entropy(const char *unused) { + // https://www.unicode.org/charts/PDF/U2200.pdf /* Unicode Character 'INFINITY' (U+221E) */ - return "\xe2\x88\x9e"; + return "\u221E"; } #endif diff --git a/config.mk b/config.mk index 8f06800..07af883 100644 --- a/config.mk +++ b/config.mk @@ -1,17 +1,17 @@ # slstatus version -VERSION = 0 +VERSION = 1.0 # customize below to fit your system # paths -PREFIX ?= /usr/local +PREFIX = /usr/local MANPREFIX = $(PREFIX)/share/man X11INC = /usr/X11R6/include X11LIB = /usr/X11R6/lib # flags -CPPFLAGS = -I$(X11INC) -D_DEFAULT_SOURCE +CPPFLAGS = -I$(X11INC) -D_DEFAULT_SOURCE -DVERSION=\"${VERSION}\" CFLAGS = -std=c99 -pedantic -Wall -Wextra -Wno-unused-parameter -Os LDFLAGS = -L$(X11LIB) -s # OpenBSD: add -lsndio diff --git a/slstatus.1 b/slstatus.1 index d802037..73e7a60 100644 --- a/slstatus.1 +++ b/slstatus.1 @@ -1,22 +1,29 @@ -.Dd 2020-06-23 +.Dd 2023-04-23 .Dt SLSTATUS 1 .Os .Sh NAME .Nm slstatus -.Nd suckless status monitor +.Nd suckless status .Sh SYNOPSIS .Nm .Op Fl s .Op Fl 1 .Sh DESCRIPTION .Nm -is a suckless status monitor for window managers that use WM_NAME (e.g. dwm) or -stdin to fill the status bar. +is a small tool for providing system status information to other programs +over the EWMH +.Em WM_NAME +property of the root window (used by +.Xr dwm 1 ) or standard input/output. It is designed to be as efficient as possible by +only issuing the minimum of system calls required. +.P By default, .Nm outputs to WM_NAME. .Sh OPTIONS .Bl -tag -width Ds +.It Fl v +Print version information to stderr, then exit. .It Fl s Write to stdout instead of WM_NAME. .It Fl 1 @@ -26,3 +33,15 @@ Write once to stdout and quit. .Nm can be customized by creating a custom config.h and (re)compiling the source code. This keeps it fast, secure and simple. +.Sh SIGNALS +.Nm +responds to the following signals: +.Pp +.Bl -tag -width TERM -compact +.It USR1 +Triggers an instant redraw. +.El +.Sh AUTHORS +See the LICENSE file for the authors. +.Sh SEE ALSO +.Xr dwm 1 diff --git a/slstatus.c b/slstatus.c index cb54f29..fd31313 100644 --- a/slstatus.c +++ b/slstatus.c @@ -41,7 +41,7 @@ difftimespec(struct timespec *res, struct timespec *a, struct timespec *b) static void usage(void) { - die("usage: %s [-s] [-1]", argv0); + die("usage: %s [-v] [-s] [-1]", argv0); } int @@ -56,6 +56,8 @@ main(int argc, char *argv[]) sflag = 0; ARGBEGIN { + case 'v': + die("slstatus-"VERSION); case '1': done = 1; /* FALLTHROUGH */