summaryrefslogtreecommitdiff
path: root/sway/extensions.c
diff options
context:
space:
mode:
authorDavid Eklov <[email protected]>2016-07-04 16:53:03 -0500
committerDavid Eklov <[email protected]>2016-07-04 21:58:07 -0500
commit51204b33c18b6f7c248f558fbaeb7198efb32900 (patch)
treefbbad0ad87bf91d3d8ca3f39cc22b23ed317e4d3 /sway/extensions.c
parent2f540576238320b0921f2b4bc69e785693f9992c (diff)
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.
Diffstat (limited to 'sway/extensions.c')
-rw-r--r--sway/extensions.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sway/extensions.c b/sway/extensions.c
index 7bc9bbe4..1fe15ac5 100644
--- a/sway/extensions.c
+++ b/sway/extensions.c
@@ -73,6 +73,7 @@ static void set_background(struct wl_client *client, struct wl_resource *resourc
}
sway_log(L_DEBUG, "Setting surface %p as background for output %d", surface, (int)output);
struct background_config *config = malloc(sizeof(struct background_config));
+ config->client = client;
config->output = output;
config->surface = wlc_resource_from_wl_surface_resource(surface);
config->wl_surface_res = surface;
@@ -91,6 +92,7 @@ static void set_panel(struct wl_client *client, struct wl_resource *resource,
sway_log(L_DEBUG, "Setting surface %p as panel for output %d (wl_resource: %p)", surface, (int)output, resource);
struct panel_config *config = find_or_create_panel_config(resource);
config->output = output;
+ config->client = client;
config->surface = wlc_resource_from_wl_surface_resource(surface);
config->wl_surface_res = surface;
wl_resource_set_destructor(surface, panel_surface_destructor);