Enable backgrounds and panels to be shell surfaces

Prior to this commit all windows (e.g. shell surfaces) were handled the same
way in handle_view_created. Since backgrounds and panels have to be treated
differently, they could not be shell surfaces. This changes checks whether
a client is a background or a panel in handle_view_created and exists to
let them be dealt with elsewhere.
This commit is contained in:
David Eklov 2016-07-04 16:53:03 -05:00
parent 2f54057623
commit 51204b33c1
3 changed files with 32 additions and 0 deletions

View file

@ -11,6 +11,8 @@ struct background_config {
wlc_resource surface;
// we need the wl_resource of the surface in the destructor
struct wl_resource *wl_surface_res;
// used to determine if client is a background
struct wl_client *client;
};
struct panel_config {
@ -21,6 +23,8 @@ struct panel_config {
// we need the wl_resource of the surface in the destructor
struct wl_resource *wl_surface_res;
enum desktop_shell_panel_position panel_position;
// used to determine if client is a panel
struct wl_client *client;
};
struct desktop_shell_state {