aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/extensions.h3
-rw-r--r--sway/extensions.c9
-rw-r--r--sway/handlers.c1
3 files changed, 6 insertions, 7 deletions
diff --git a/include/extensions.h b/include/extensions.h
index 3e2d1cde..2fca23c1 100644
--- a/include/extensions.h
+++ b/include/extensions.h
@@ -2,10 +2,11 @@
#define _SWAY_EXTENSIONS_H
#include "list.h"
+#include "wlc/wlc-wayland.h"
struct background_config {
wlc_handle output;
- wlc_handle surface;
+ wlc_resource surface;
};
struct desktop_shell_state {
diff --git a/sway/extensions.c b/sway/extensions.c
index 5ef8a0ff..35a2632e 100644
--- a/sway/extensions.c
+++ b/sway/extensions.c
@@ -7,16 +7,15 @@
struct desktop_shell_state desktop_shell;
static void set_background(struct wl_client *client, struct wl_resource *resource,
- struct wl_resource *_output, struct wl_resource *_surface) {
+ struct wl_resource *_output, struct wl_resource *surface) {
wlc_handle output = wlc_handle_from_wl_output_resource(_output);
- wlc_handle surface = wlc_handle_from_wl_surface_resource(_surface);
- sway_log(L_DEBUG, "Setting surface %d as background for output %d", (int)surface, (int)output);
- if (!output || !surface) {
+ if (!output) {
return;
}
+ 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->output = output;
- config->surface = surface;
+ config->surface = wlc_resource_from_wl_surface_resource(surface);
list_add(desktop_shell.backgrounds, config);
}
diff --git a/sway/handlers.c b/sway/handlers.c
index 9e98cffe..dde9b88b 100644
--- a/sway/handlers.c
+++ b/sway/handlers.c
@@ -70,7 +70,6 @@ static void handle_output_pre_render(wlc_handle output) {
for (i = 0; i < desktop_shell.backgrounds->length; ++i) {
struct background_config *config = desktop_shell.backgrounds->items[i];
if (config->output == output) {
- sway_log(L_DEBUG, "Rendering background surface %d", (int)config->surface);
wlc_surface_render(config->surface, &(struct wlc_geometry){ wlc_origin_zero, *wlc_output_get_resolution(output) });
break;
}