diff --git a/compositor/shell.c b/compositor/shell.c index e012482c..c44ebcad 100644 --- a/compositor/shell.c +++ b/compositor/shell.c @@ -263,17 +263,10 @@ shell_set_toplevel(struct wl_client *client, { struct wlsc_surface *es = surface_resource->data; - struct wlsc_compositor *ec = es->compositor; if (es->map_type == WLSC_SURFACE_MAP_FULLSCREEN) { es->x = es->saved_x; es->y = es->saved_y; - } else if (es->map_type == WLSC_SURFACE_MAP_UNMAPPED) { - es->x = 10 + random() % 400; - es->y = 10 + random() % 400; - /* assign to first output */ - es->output = container_of(ec->output_list.next, - struct wlsc_output, link); } wlsc_surface_damage(es); @@ -934,6 +927,11 @@ map(struct wlsc_shell *base, else wl_list_insert(&shell->panel->link, &surface->link); + if (surface->map_type == WLSC_SURFACE_MAP_TOPLEVEL) { + surface->x = 10 + random() % 400; + surface->y = 10 + random() % 400; + } + wlsc_surface_configure(surface, surface->x, surface->y, width, height); }