From 2f63535ae5e313ea8a66955d811f2ad8d694ddb4 Mon Sep 17 00:00:00 2001 From: project-repo Date: Fri, 11 Sep 2020 11:31:15 +0200 Subject: [PATCH] Implement data control manager protocol Prevents screen from flickering when doing wl-copy and paste. --- cagebreak.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/cagebreak.c b/cagebreak.c index c44aab0..5185214 100644 --- a/cagebreak.c +++ b/cagebreak.c @@ -31,6 +31,7 @@ #include #include #include +#include #if CG_HAS_XWAYLAND #include #endif @@ -243,6 +244,7 @@ main(int argc, char *argv[]) { struct wlr_xdg_decoration_manager_v1 *xdg_decoration_manager = NULL; struct wlr_export_dmabuf_manager_v1 *export_dmabuf_manager = NULL; struct wlr_screencopy_manager_v1 *screencopy_manager = NULL; + struct wlr_data_control_manager_v1 *data_control_manager = NULL; struct wlr_xdg_output_manager_v1 *output_manager = NULL; struct wlr_gamma_control_manager_v1 *gamma_control_manager = NULL; struct wlr_xdg_shell *xdg_shell = NULL; @@ -355,6 +357,13 @@ main(int argc, char *argv[]) { goto end; } + data_control_manager=wlr_data_control_manager_v1_create(server.wl_display); + if(!data_control_manager) { + wlr_log(WLR_ERROR, "Unable to create the data control manager"); + ret = 1; + goto end; + } + /* Configure a listener to be notified when new outputs are * available on the backend. We use this only to detect the * first output and ignore subsequent outputs. */