| fifo.c - sites - public wiki contents of suckless.org | |
| git clone git://git.suckless.org/sites | |
| Log | |
| Files | |
| Refs | |
| --- | |
| fifo.c (835B) | |
| --- | |
| 1 /* | |
| 2 * send anything in dwm status bar with fifo | |
| 3 * example : echo "hello" >> /tmp/dwm.fifo | |
| 4 * Author: Xavier Cartron (XC), [email protected] | |
| 5 */ | |
| 6 | |
| 7 #include <stdio.h> | |
| 8 #include <stdlib.h> | |
| 9 #include <string.h> | |
| 10 #include <fcntl.h> | |
| 11 #include <sys/types.h> | |
| 12 #include <sys/stat.h> | |
| 13 | |
| 14 #define FIFO "/tmp/dwm.fifo" | |
| 15 | |
| 16 char * | |
| 17 snotif() | |
| 18 { | |
| 19 char buf[BUFSIZ]; | |
| 20 int len = 0; | |
| 21 | |
| 22 int f = open(FIFO, O_NONBLOCK | O_RDWR); | |
| 23 if (f == -1){ | |
| 24 return smprintf("%s",""); | |
| 25 } | |
| 26 | |
| 27 len = read(f, buf, sizeof(buf)); | |
| 28 if (len == -1){ | |
| 29 perror("fifo read"); | |
| 30 close(f); | |
| 31 return smprintf("%s",""); | |
| 32 } | |
| 33 close(f); | |
| 34 | |
| 35 buf[len-1] = ' '; | |
| 36 | |
| 37 return smprintf("%s",buf); | |
| 38 } | |
| 39 | |
| 40 int | |
| 41 main(void) | |
| 42 { | |
| 43 int ret = 0; | |
| 44 ret = mkfifo(FIFO, ACCESSPERMS); | |
| 45 if (ret == -1) perror("fifo creation"); | |
| 46 | |
| 47 // your code | |
| 48 | |
| 49 return 0; | |
| 50 } |