{
xcb_create_notify_event_t *cev;
d_screen_t *sc;
+ d_window_t *w;
cev = (xcb_create_notify_event_t*)ev;
sc = display_screen_from_root(dpy, cev->parent);
if (!sc) break;
- screen_add_window(sc, cev->window);
+ w = screen_add_window(sc, cev->window);
+ printf("created 0x%x\n", w);
break;
}
case XCB_DESTROY_NOTIFY:
sc = display_screen_from_root(dpy, dev->event);
if (!sc) break;
w = screen_find_window(sc, dev->window);
+ printf("destroyed 0x%x\n", w);
vis = window_is_mapped(w);
sc->window_hide(w);
screen_remove_window(sc, w);
else {
sc->window_hide(w);
screen_remove_window(sc, w);
+ printf("reparent lost 0x%x\n", w);
}
screen_refresh(w->sc);
break;
sc = display_screen_from_root(dpy, mev->event);
if (!sc) break;
w = screen_find_window(sc, mev->window);
+ printf("mapping 0x%x\n", w);
sc->window_show(w);
screen_refresh(w->sc);
break;
run(dpy);
+ {
+ /* make everything hidden */
+ d_list_it_t *sc_it;
+
+ for (sc_it = list_top(dpy->screens); sc_it; sc_it = sc_it->next) {
+ d_screen_t *sc = sc_it->data;
+ d_list_it_t *it;
+ for (it = list_top(sc->stacking); it; it = it->next)
+ sc->window_hide(it->data);
+ }
+ }
+
cleanup_functions(dpy);
display_unref(dpy);