aboutsummaryrefslogtreecommitdiff
path: root/src/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/main.c b/src/main.c
index 7763a4b..b1c6609 100644
--- a/src/main.c
+++ b/src/main.c
@@ -159,7 +159,10 @@ int main(int argc, char **argv) {
XQueryTree(dpy, root_window, &root_return, &parent_return, &children, &num_children);
for(unsigned int i = 0; i < num_children; ++i) {
- ngxc_compositor_add_window(&compositor, children[i]);
+ Window above_window = None;
+ if(i > 0)
+ above_window = children[i - 1];
+ ngxc_compositor_add_window(&compositor, children[i], above_window);
}
if(children)
@@ -169,11 +172,11 @@ int main(int argc, char **argv) {
for(;;) {
while(XPending(dpy)) {
XNextEvent(dpy, &xev);
- //if(xev.type != 22)
- // fprintf(stderr, "event: %d\n", xev.type);
+ if(xev.type != 22)
+ fprintf(stderr, "event: %d\n", xev.type);
switch(xev.type) {
case CreateNotify: {
- // TODO:
+ // TODO: Might be needed to have configure notify work with "above" field
//ngxc_compositor_add_window(&compositor, xev.xcreatewindow.window);
break;
}
@@ -183,7 +186,7 @@ int main(int argc, char **argv) {
break;
}
case MapNotify: {
- ngxc_compositor_add_window(&compositor, xev.xmap.window);
+ ngxc_compositor_add_window(&compositor, xev.xmap.window, None);
break;
}
case UnmapNotify: {
@@ -192,7 +195,7 @@ int main(int argc, char **argv) {
}
case ReparentNotify: {
if(xev.xreparent.parent == root_window)
- ngxc_compositor_add_window(&compositor, xev.xreparent.window);
+ ngxc_compositor_add_window(&compositor, xev.xreparent.window, None);
else
ngxc_compositor_remove_window(&compositor, xev.xreparent.window);
break;
@@ -204,6 +207,7 @@ int main(int argc, char **argv) {
}
case CirculateNotify: {
fprintf(stderr, "circulate!\n");
+ ngxc_compositor_on_circulate(&compositor, &xev.xcirculate);
break;
}
default: