aboutsummaryrefslogtreecommitdiffstats
path: root/src/transient/transient.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/transient/transient.c')
-rw-r--r--src/transient/transient.c75
1 files changed, 39 insertions, 36 deletions
diff --git a/src/transient/transient.c b/src/transient/transient.c
index ed6539f..fed0f77 100644
--- a/src/transient/transient.c
+++ b/src/transient/transient.c
@@ -39,49 +39,52 @@
39 * 39 *
40 * @return int Exit status (always 0). 40 * @return int Exit status (always 0).
41 */ 41 */
42int main(void) { 42int main(void)
43 Display *display; 43{
44 Window rootWindow, floatingWindow, transientWindow = None; 44 Display *display;
45 XSizeHints sizeHints; 45 Window rootWindow, floatingWindow, transientWindow = None;
46 XEvent event; 46 XSizeHints sizeHints;
47 XEvent event;
47 48
48 display = XOpenDisplay(NULL); 49 display = XOpenDisplay(NULL);
49 if (!display) 50 if (!display)
50 exit(1); 51 exit(1);
51 52
52 rootWindow = DefaultRootWindow(display); 53 rootWindow = DefaultRootWindow(display);
53 54
54 floatingWindow = XCreateSimpleWindow( 55 floatingWindow = XCreateSimpleWindow(
55 display, rootWindow, FLOATING_WINDOW_X_POS, FLOATING_WINDOW_Y_POS, 56 display, rootWindow, FLOATING_WINDOW_X_POS, FLOATING_WINDOW_Y_POS,
56 FLOATING_WINDOW_WIDTH, FLOATING_WINDOW_HEIGHT, WINDOW_BORDER_WIDTH, 57 FLOATING_WINDOW_WIDTH, FLOATING_WINDOW_HEIGHT, WINDOW_BORDER_WIDTH,
57 WINDOW_BORDER_COLOR, WINDOW_BACKGROUND_COLOR); 58 WINDOW_BORDER_COLOR, WINDOW_BACKGROUND_COLOR);
58 59
59 sizeHints.min_width = sizeHints.max_width = sizeHints.min_height = 60 sizeHints.min_width = sizeHints.max_width = sizeHints.min_height =
60 sizeHints.max_height = FLOATING_WINDOW_WIDTH; 61 sizeHints.max_height = FLOATING_WINDOW_WIDTH;
61 sizeHints.flags = PMinSize | PMaxSize; 62 sizeHints.flags = PMinSize | PMaxSize;
62 XSetWMNormalHints(display, floatingWindow, &sizeHints); 63 XSetWMNormalHints(display, floatingWindow, &sizeHints);
63 XStoreName(display, floatingWindow, "floating"); 64 XStoreName(display, floatingWindow, "floating");
64 XMapWindow(display, floatingWindow); 65 XMapWindow(display, floatingWindow);
65 XSelectInput(display, floatingWindow, ExposureMask); 66 XSelectInput(display, floatingWindow, ExposureMask);
66 67
67 while (1) { 68 while (1) {
68 XNextEvent(display, &event); 69 XNextEvent(display, &event);
69 70
70 if (transientWindow == None) { 71 if (transientWindow == None) {
71 sleep(SLEEP_TIME); 72 sleep(SLEEP_TIME);
72 73
73 transientWindow = XCreateSimpleWindow( 74 transientWindow = XCreateSimpleWindow(
74 display, rootWindow, TRANSIENT_WINDOW_X_POS, TRANSIENT_WINDOW_Y_POS, 75 display, rootWindow, TRANSIENT_WINDOW_X_POS,
75 TRANSIENT_WINDOW_WIDTH, TRANSIENT_WINDOW_HEIGHT, WINDOW_BORDER_WIDTH, 76 TRANSIENT_WINDOW_Y_POS, TRANSIENT_WINDOW_WIDTH,
76 WINDOW_BORDER_COLOR, WINDOW_BACKGROUND_COLOR); 77 TRANSIENT_WINDOW_HEIGHT, WINDOW_BORDER_WIDTH,
78 WINDOW_BORDER_COLOR, WINDOW_BACKGROUND_COLOR);
77 79
78 XSetTransientForHint(display, transientWindow, floatingWindow); 80 XSetTransientForHint(display, transientWindow,
79 XStoreName(display, transientWindow, "transient"); 81 floatingWindow);
80 XMapWindow(display, transientWindow); 82 XStoreName(display, transientWindow, "transient");
81 XSelectInput(display, transientWindow, ExposureMask); 83 XMapWindow(display, transientWindow);
82 } 84 XSelectInput(display, transientWindow, ExposureMask);
83 } 85 }
86 }
84 87
85 XCloseDisplay(display); 88 XCloseDisplay(display);
86 exit(0); 89 exit(0);
87} 90}