To reproduce the issue:
        $ slstatus -s | tee

then it would print only when the stdout buffer is full, by block
of multiple lines.

fflush() makes sure the line is printed at every loop iteration
---
 slstatus.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/slstatus.c b/slstatus.c
index c1cf8ac..5842b3e 100644
--- a/slstatus.c
+++ b/slstatus.c
@@ -98,6 +98,7 @@ main(int argc, char *argv[])
 
                if (sflag) {
                        printf("%s\n", status);
+                       fflush(stdout);
                } else {
                        XStoreName(dpy, DefaultRootWindow(dpy), status);
                        XSync(dpy, False);
-- 
2.10.0


Reply via email to