aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Smith <luke@lukesmith.xyz>2021-03-02 09:22:17 -0500
committerGitHub <noreply@github.com>2021-03-02 09:22:17 -0500
commit826e3f1a990efb93f9bbf5d83512e63fc84007fe (patch)
tree1762fe6005cb73e5db98653ea1e21d149cbbfec4
parent7101103744dc301ed48eaa1abe30690dc64c45b6 (diff)
downloaddwmblocks-826e3f1a990efb93f9bbf5d83512e63fc84007fe.tar.gz
dwmblocks-826e3f1a990efb93f9bbf5d83512e63fc84007fe.tar.bz2
dwmblocks-826e3f1a990efb93f9bbf5d83512e63fc84007fe.zip
Revert "Mitigates disappearing blocks on fast mouse interaction"
-rw-r--r--dwmblocks.c27
1 files changed, 6 insertions, 21 deletions
diff --git a/dwmblocks.c b/dwmblocks.c
index 5021af1..18f58fb 100644
--- a/dwmblocks.c
+++ b/dwmblocks.c
@@ -13,7 +13,6 @@ typedef struct {
unsigned int interval;
unsigned int signal;
} Block;
-char** last_updates;
void sighandler(int num);
void buttonhandler(int sig, siginfo_t *si, void *ucontext);
void replace(char *str, char old, char new);
@@ -62,7 +61,7 @@ void remove_all(char *str, char to_remove) {
}
//opens process *cmd and stores output in *output
-void getcmd(const Block *block, char* last_update , char *output)
+void getcmd(const Block *block, char *output)
{
if (block->signal)
{
@@ -78,15 +77,10 @@ void getcmd(const Block *block, char* last_update , char *output)
int i = strlen(block->icon);
fgets(output+i, CMDLENGTH-(strlen(delim)+1), cmdf);
remove_all(output, '\n');
- if(i == strlen(output))
- strcpy(output+i, last_update);
- else
- strcpy(last_update, output+i);
-
i = strlen(output);
- if ((i > 0 && block != &blocks[LENGTH(blocks) - 1]))
- strcat(output, delim);
- i+=strlen(delim);
+ if ((i > 0 && block != &blocks[LENGTH(blocks) - 1]))
+ strcat(output, delim);
+ i+=strlen(delim);
output[i++] = '\0';
pclose(cmdf);
}
@@ -98,7 +92,7 @@ void getcmds(int time)
{
current = blocks + i;
if ((current->interval != 0 && time % current->interval == 0) || time == -1)
- getcmd(current,last_updates[i],statusbar[i]);
+ getcmd(current,statusbar[i]);
}
}
@@ -110,7 +104,7 @@ void getsigcmds(int signal)
{
current = blocks + i;
if (current->signal == signal)
- getcmd(current,last_updates[i],statusbar[i]);
+ getcmd(current,statusbar[i]);
}
}
@@ -182,11 +176,6 @@ void statusloop()
#ifndef __OpenBSD__
setupsignals();
#endif
- last_updates = malloc(sizeof(char*) * LENGTH(blocks));
- for(int i = 0; i < LENGTH(blocks); i++) {
- last_updates[i] = malloc(sizeof(char) * CMDLENGTH);
- strcpy(last_updates[i],"");
- }
int i = 0;
getcmds(-1);
while(statusContinue)
@@ -233,10 +222,6 @@ void buttonhandler(int sig, siginfo_t *si, void *ucontext)
void termhandler(int signum)
{
- for(int i = 0; i < LENGTH(blocks); i++) {
- free(last_updates[i]);
- }
- free(last_updates);
statusContinue = 0;
exit(0);
}