dwmblocks

I use polybar now
Log | Files | Refs | README | LICENSE

commit 6bbd6545f422bab6dfd341d88e99316f4cdab7ac
parent cc1b97c7315aee3d9a25438cca32c6a4f3b25d9a
Author: MateuszOkulus <mateusz.okulus@protonmail.com>
Date:   Fri, 24 Apr 2020 09:20:34 +0200

Remove newlines from command output

Diffstat:
Mdwmblocks.c | 15+++++++++++++++
1 file changed, 15 insertions(+), 0 deletions(-)

diff --git a/dwmblocks.c b/dwmblocks.c @@ -16,6 +16,7 @@ typedef struct { void sighandler(int num); void buttonhandler(int sig, siginfo_t *si, void *ucontext); void replace(char *str, char old, char new); +void remove_all(char *str, char to_remove); void getcmds(int time); #ifndef __OpenBSD__ void getsigcmds(int signal); @@ -48,6 +49,19 @@ void replace(char *str, char old, char new) str[i] = new; } +void remove_all(char *str, char to_remove) { + char *read = str; + char *write = str; + while (*read) { + if (*read == to_remove) { + read++; + *write = *read; + } + read++; + write++; + } +} + //opens process *cmd and stores output in *output void getcmd(const Block *block, char *output) { @@ -77,6 +91,7 @@ void getcmd(const Block *block, char *output) char c; int i = strlen(block->icon); fgets(output+i, CMDLENGTH-i, cmdf); + remove_all(output, '\n'); i = strlen(output); if (delim != '\0' && i) output[i++] = delim;