1 static DPokeSource sources[] = { |
1 static DPokeSource sources[] = { |
2 { DPOKE_PROGRAM, "./shi_date.sh" }, |
2 { DPOKE_PROGRAM, "./status-mem/status-mem" }, |
3 { DPOKE_PROGRAM, "./shi_buftest" }, |
3 { DPOKE_PROGRAM, "./status-loadavg/status-loadavg" }, |
4 { DPOKE_PROGRAM, "./shi_dietest" }, |
4 { DPOKE_PROGRAM, "./status-time/status-time" }, |
5 { DPOKE_PROGRAM, "/bin/true" }, |
|
6 }; |
5 }; |
7 |
6 |
8 #define FAILURE_MSG "FAILURE" |
7 #define FAILURE_MSG "FAILURE" |
9 //#define MINTIME 0.4 |
8 //#define MINTIME 0.4 |
10 #define MINTIME 1.0 |
9 #define MINTIME 1.0 |
11 //#define DEBUG |
10 //#define DEBUG |
12 |
11 |
|
12 #include <X11/Xlib.h> |
|
13 |
|
14 Display *dpy; |
|
15 Window rootwin; |
|
16 int scr; |
|
17 |
|
18 void display(char* v[], size_t vc) { |
|
19 char *new_title = smprintf("%s | %s | %s",v[0],v[1],v[2]); |
|
20 XStoreName(dpy, rootwin, new_title); |
|
21 //printf("set: %s\n", new_title); |
|
22 XSync(dpy, False); |
|
23 free(new_title); |
|
24 } |
|
25 |
|
26 void setup() { |
|
27 if(!(dpy=XOpenDisplay(NULL))) { |
|
28 fprintf(stderr, "ERROR: could not open display\n"); |
|
29 exit(21); |
|
30 } |
|
31 scr = DefaultScreen(dpy); |
|
32 rootwin = RootWindow(dpy, scr); |
|
33 } |
|
34 |
|
35 void cleanup(int exitcode) { |
|
36 XCloseDisplay(dpy); |
|
37 } |
|
38 |
|
39 #if 0 |
|
40 // no-X11 variant: |
13 void display() { |
41 void display() { |
14 printf("%s | <%s> | %s | %s\n",v[0],v[1],v[2],v[3]); |
42 printf("%s | <%s> | %s | %s\n",v[0],v[1],v[2],v[3]); |
15 } |
43 } |
|
44 void setup() { |
|
45 } |
|
46 void cleanup(int exitcode) { |
|
47 } |
|
48 #endif |