+void process_configure_event(Compositor *compositor, XConfigureEvent *event)
+{
+ CompositedScreen *screen = find_screen_by_root(compositor, event->event);
+ if(!screen)
+ return;
+
+ CompositedWindow *window = find_window(screen, event->window);
+ if(!window)
+ return;
+
+ window->x = event->x;
+ window->y = event->y;
+ if((unsigned)event->width!=window->width || (unsigned)event->height!=window->height || (unsigned)event->border_width!=window->border)
+ {
+ window->width = event->width;
+ window->height = event->height;
+ window->border = event->border_width;
+ create_window_pixmap(compositor, screen, window);
+ }
+ reorder_window(screen, window, event->above);
+
+ if(window->map_state==IsViewable)
+ mark_dirty(compositor, screen);
+}
+