Fix some small bugs with the FIFO
This commit is contained in:
parent
156f0d238a
commit
f022bb1d95
14
libs/fifo.c
14
libs/fifo.c
|
@ -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);
|
||||
}
|
||||
|
|
3
spmenu.c
3
spmenu.c
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue