equal
deleted
inserted
replaced
|
1 /* cc transient.c -o transient -lX11 */ |
|
2 |
|
3 #include <stdlib.h> |
|
4 #include <unistd.h> |
|
5 #include <X11/Xlib.h> |
|
6 #include <X11/Xutil.h> |
|
7 |
|
8 int main(void) { |
|
9 Display *d; |
|
10 Window r, f, t = None; |
|
11 XSizeHints h; |
|
12 XEvent e; |
|
13 |
|
14 d = XOpenDisplay(NULL); |
|
15 if (!d) |
|
16 exit(1); |
|
17 r = DefaultRootWindow(d); |
|
18 |
|
19 f = XCreateSimpleWindow(d, r, 100, 100, 400, 400, 0, 0, 0); |
|
20 h.min_width = h.max_width = h.min_height = h.max_height = 400; |
|
21 h.flags = PMinSize | PMaxSize; |
|
22 XSetWMNormalHints(d, f, &h); |
|
23 XStoreName(d, f, "floating"); |
|
24 XMapWindow(d, f); |
|
25 |
|
26 XSelectInput(d, f, ExposureMask); |
|
27 while (1) { |
|
28 XNextEvent(d, &e); |
|
29 |
|
30 if (t == None) { |
|
31 sleep(5); |
|
32 t = XCreateSimpleWindow(d, r, 50, 50, 100, 100, 0, 0, 0); |
|
33 XSetTransientForHint(d, t, f); |
|
34 XStoreName(d, t, "transient"); |
|
35 XMapWindow(d, t); |
|
36 XSelectInput(d, t, ExposureMask); |
|
37 } |
|
38 } |
|
39 |
|
40 XCloseDisplay(d); |
|
41 exit(0); |
|
42 } |