Sorry for the late reply. I merged this.
Regards,
Aaron
On 20-06-27 Sat, Daniel Moch wrote:
Any feedback on this? Does this seem like something that should be
added to the wiki as a patch, or something that should be merged?
On Tue, Jun 23, 2020 at 04:35:43PM -0400, Daniel Moch wrote:
Allow slstatus to be used by programs that can grab status by calling
an external program on a periodic basis (e.g. tmux)
---
slstatus.1 | 5 ++++-
slstatus.c | 9 ++++++---
2 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/slstatus.1 b/slstatus.1
index da1a99a..d802037 100644
--- 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
index 96fa5b6..f1f0741 100644
--- a/slstatus.c
+++ b/slstatus.c
@@ -42,7 +42,7 @@ difftimespec(struct timespec *res, struct timespec *a, struct
timespec *b)
static void
usage(void)
{
- die("usage: %s [-s]", argv0);
+ die("usage: %s [-s] [-1]", argv0);
}
int
@@ -57,6 +57,9 @@ main(int argc, char *argv[])
sflag = 0;
ARGBEGIN {
+ case '1':
+ done = 1;
+ /* fallthrough */
case 's':
sflag = 1;
break;
@@ -77,7 +80,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:");
}
@@ -124,7 +127,7 @@ main(int argc, char *argv[])
}
}
}
- }
+ } while (!done);
if (!sflag) {
XStoreName(dpy, DefaultRootWindow(dpy), NULL);
--
2.27.0
--
Daniel Moch
dan...@danielmoch.com
http://djmoch.org
--
Web: https://drkhsh.at/ or http://drkhsh5rv6pnahas.onion/
Gopher: gopher://drkhsh.at or gopher://drkhsh5rv6pnahas.onion
GPG: 0x7A65E38D55BE96FE
Fingerprint: 4688 907C 8720 3318 0D9F AFDE 7A65 E38D 55BE 96FE