shell: Don't make desktop_shell background a wl_shell_surface
We don't gain anything from taking a wl_shell_surface in
desktop_surface.set_background, except making wl_shell_surface
gratuitously dependent on wl_shell. In shell.c we can also handle
backgrounds in their own background_configure function which simplifies
the mapping and placement logic.
diff --git a/clients/window.h b/clients/window.h
index 12e4352..23ad37d 100644
--- a/clients/window.h
+++ b/clients/window.h
@@ -201,6 +201,8 @@
struct window *
window_create_transient(struct display *display, struct window *parent,
int32_t x, int32_t y, uint32_t flags);
+struct window *
+window_create_custom(struct display *display);
typedef void (*menu_func_t)(struct window *window, int index, void *data);