commit 7e29da026b31f02c839b40c4dcf7bd87741a5e4a
Author:     Josuah Demangeon <[email protected]>
AuthorDate: Tue May 8 15:13:56 2018 +0200
Commit:     Aaron Marcher <[email protected]>
CommitDate: Tue May 8 15:18:32 2018 +0200

    fflush(stdout) to print line by line if stdout is not a tty
    
    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

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);

Reply via email to