Add a -1 option flag - slstatus - status monitor | |
git clone git://git.suckless.org/slstatus | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit aaf279f6ddfb48146fc1a579efd83a55722910b5 | |
parent d1b23e5509863fd0790261b2b388e687d5218d53 | |
Author: Daniel Moch <[email protected]> | |
Date: Tue, 23 Jun 2020 16:35:43 -0400 | |
Add a -1 option flag | |
Allow slstatus to be used by programs that can grab status by calling | |
an external program on a periodic basis (e.g. tmux) | |
Diffstat: | |
M slstatus.1 | 5 ++++- | |
M slstatus.c | 9 ++++++--- | |
2 files changed, 10 insertions(+), 4 deletions(-) | |
--- | |
diff --git a/slstatus.1 b/slstatus.1 | |
@@ -1,4 +1,4 @@ | |
-.Dd 2017-08-10 | |
+.Dd 2020-06-23 | |
.Dt SLSTATUS 1 | |
.Os | |
.Sh NAME | |
@@ -7,6 +7,7 @@ | |
.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 | |
@@ -18,6 +19,8 @@ outputs to WM_NAME. | |
.Bl -tag -width Ds | |
.It Fl s | |
Write to stdout instead of WM_NAME. | |
+.It Fl 1 | |
+Write once to stdout and quit. | |
.El | |
.Sh CUSTOMIZATION | |
.Nm | |
diff --git a/slstatus.c b/slstatus.c | |
@@ -41,7 +41,7 @@ difftimespec(struct timespec *res, struct timespec *a, struct… | |
static void | |
usage(void) | |
{ | |
- die("usage: %s [-s]", argv0); | |
+ die("usage: %s [-s] [-1]", argv0); | |
} | |
int | |
@@ -56,6 +56,9 @@ main(int argc, char *argv[]) | |
sflag = 0; | |
ARGBEGIN { | |
+ case '1': | |
+ done = 1; | |
+ /* fallthrough */ | |
case 's': | |
sflag = 1; | |
break; | |
@@ -78,7 +81,7 @@ main(int argc, char *argv[]) | |
die("XOpenDisplay: Failed to open display"); | |
} | |
- while (!done) { | |
+ do { | |
if (clock_gettime(CLOCK_MONOTONIC, &start) < 0) { | |
die("clock_gettime:"); | |
} | |
@@ -125,7 +128,7 @@ main(int argc, char *argv[]) | |
} | |
} | |
} | |
- } | |
+ } while (!done); | |
if (!sflag) { | |
XStoreName(dpy, DefaultRootWindow(dpy), NULL); |