aboutsummaryrefslogtreecommitdiff
path: root/dwmblocks.c
diff options
context:
space:
mode:
Diffstat (limited to 'dwmblocks.c')
-rw-r--r--dwmblocks.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/dwmblocks.c b/dwmblocks.c
index 0cd0b54..de872bf 100644
--- 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;