From 324ddd7e56361a3da3bbcd639829ab6dc007529d Mon Sep 17 00:00:00 2001 From: Andri Yngvason Date: Fri, 16 Aug 2019 16:46:51 +0000 Subject: [PATCH] Add screencopy --- cage.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/cage.c b/cage.c index 9c7098a..5045b88 100644 --- a/cage.c +++ b/cage.c @@ -30,6 +30,7 @@ #endif #include #include +#include #include #if CAGE_HAS_XWAYLAND #include @@ -169,6 +170,7 @@ main(int argc, char *argv[]) struct wlr_data_device_manager *data_device_mgr = NULL; struct wlr_server_decoration_manager *server_decoration_manager = NULL; struct wlr_xdg_decoration_manager_v1 *xdg_decoration_manager = NULL; + struct wlr_screencopy_manager_v1 *screencopy_manager = NULL; struct wlr_xdg_shell *xdg_shell = NULL; #if CAGE_HAS_XWAYLAND struct wlr_xwayland *xwayland = NULL; @@ -293,6 +295,13 @@ main(int argc, char *argv[]) WLR_SERVER_DECORATION_MANAGER_MODE_SERVER : WLR_SERVER_DECORATION_MANAGER_MODE_CLIENT); + screencopy_manager = wlr_screencopy_manager_v1_create(server.wl_display); + if (!screencopy_manager) { + wlr_log(WLR_ERROR, "Unable to create the screencopy manager"); + ret = 1; + goto end; + } + #if CAGE_HAS_XWAYLAND xwayland = wlr_xwayland_create(server.wl_display, compositor, true); if (!xwayland) { @@ -374,6 +383,7 @@ end: wl_event_source_remove(sigint_source); wl_event_source_remove(sigterm_source); seat_destroy(server.seat); + wlr_screencopy_manager_v1_destroy(screencopy_manager); wlr_server_decoration_manager_destroy(server_decoration_manager); wlr_xdg_decoration_manager_v1_destroy(xdg_decoration_manager); wlr_xdg_shell_destroy(xdg_shell);