all repos — slstatus @ c9d47405f4ab3cf99d7d2116fbb7622c02a27e5e

my build of slstatus (tools.suckless.org/slstatus/)

Reduce -o | -n to -s

What we really want is to either output to WM_NAME or stdout. If we want
just one single line, we do slstatus | head -n 1.
Laslo Hunhold dev@frign.de
Thu, 10 Aug 2017 22:22:39 +0200
commit

c9d47405f4ab3cf99d7d2116fbb7622c02a27e5e

parent

4d33c360141952f6071d19c34c0395ad2ff668a1

2 files changed, 13 insertions(+), 26 deletions(-)

jump to
M slstatus.1slstatus.1

@@ -6,7 +6,7 @@ .Nm slstatus

.Nd suckless status monitor .Sh SYNOPSIS .Nm -.Op Fl o | n +.Op Fl s .Sh DESCRIPTION .Nm is a suckless status monitor for window managers that use WM_NAME (e.g. dwm) or

@@ -16,10 +16,8 @@ .Nm

outputs to WM_NAME. .Sh OPTIONS .Bl -tag -width Ds -.It Fl n -Write to stdout once and exit. -.It Fl o -Write to stdout continuously. +.It Fl s +Write to stdout instead of WM_NAME. .El .Sh CUSTOMIZATION .Nm
M slstatus.cslstatus.c

@@ -75,7 +75,6 @@

char *argv0; static unsigned short int delay = 0; static unsigned short int done; -static unsigned short int oflag, nflag; static Display *dpy; #include "config.h"

@@ -840,41 +839,34 @@

static void usage(void) { - fprintf(stderr, "usage: %s [-o | -n]\n", argv0); + fprintf(stderr, "usage: %s [-s]\n", argv0); exit(1); } int main(int argc, char *argv[]) { - unsigned short int i; + struct arg argument; + struct sigaction act; + size_t i, len; + int sflag = 0; char status_string[MAXLEN]; char *element; - struct arg argument; - struct sigaction act; - size_t len; ARGBEGIN { - case 'o': - oflag = 1; - break; - case 'n': - nflag = 1; + case 's': + sflag = 1; break; default: usage(); } ARGEND - if (oflag && nflag) { - usage(); - } - memset(&act, 0, sizeof(act)); act.sa_handler = sighandler; sigaction(SIGINT, &act, 0); sigaction(SIGTERM, &act, 0); - if (!oflag) { + if (!sflag) { dpy = XOpenDisplay(NULL); }

@@ -896,11 +888,8 @@ break;

} } - if (oflag) { + if (sflag) { printf("%s\n", status_string); - } else if (nflag) { - printf("%s\n", status_string); - done = 1; } else { XStoreName(dpy, DefaultRootWindow(dpy), status_string); XSync(dpy, False);

@@ -915,7 +904,7 @@ delay = 0;

} } - if (!oflag) { + if (!sflag) { XStoreName(dpy, DefaultRootWindow(dpy), NULL); XCloseDisplay(dpy); }