Fix some small bugs with the FIFO

This commit is contained in:
Jacob 2023-08-12 05:17:03 +02:00
parent 156f0d238a
commit f022bb1d95
2 changed files with 10 additions and 7 deletions

View file

@ -20,6 +20,8 @@ void execute_fifo_cmd(void) {
if (!r) {
close(fd);
done = 1;
return;
}
@ -115,7 +117,7 @@ void execute_fifo_cmd(void) {
setlines(&arg);
} else if (!strcmp(fifot, "setcolumns+")) {
Arg arg;
arg.i = +1;
arg.i = 1;
setcolumns(&arg);
} else if (!strcmp(fifot, "setcolumns-")) {
Arg arg;
@ -183,22 +185,24 @@ void execute_fifo_cmd(void) {
close(fd);
remove(fifofile);
mkfifo(fifofile, 0660);
done = 1;
}
void *fifocmd(void *n) {
for (;;) {
msleep(0.1);
if (done) {
execute_fifo_cmd();
}
msleep(0.1);
}
}
void init_fifo(void) {
mkfifo(fifofile, 0666);
mkfifo(fifofile, 0660);
pthread_t tid;
pthread_create(&tid, NULL, &fifocmd, NULL);
}

View file

@ -555,11 +555,10 @@ void handle(void) {
init_appearance(); // init colorschemes by reading arrays
setupdisplay_x11(); // set up display and create window
#if FIFO
init_fifo();
#endif
setupdisplay_x11(); // set up display and create window
eventloop_x11(); // function is a loop which checks X11 events and calls other functions accordingly
#endif
#if WAYLAND