Wayland compositor (wlroots)
git clone https://git.lucas.co/cce-compositor.git
river: implement ext-image-capture-source/copy-capture
This is the next generation of screen copy protocols that replace
wlr-screencopy and wlr-export-dmabuf with a much cleaner and more
extensible design.
Support for toplevel capture can be added after wlroots 0.20 is
released.
river/Server.zig | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/river/Server.zig b/river/Server.zig
index 7b8053b..5561c25 100644
--- a/river/Server.zig
+++ b/river/Server.zig
@@ -71,6 +71,9 @@ data_control_manager: *wlr.DataControlManagerV1,
export_dmabuf_manager: *wlr.ExportDmabufManagerV1,
screencopy_manager: *wlr.ScreencopyManagerV1,
+image_copy_capture_manager: *wlr.ExtImageCopyCaptureManagerV1,
+output_image_capture_source_manager: *wlr.ExtOutputImageCaptureSourceManagerV1,
+
foreign_toplevel_list: *wlr.ExtForeignToplevelListV1,
scene: Scene,
@@ -140,6 +143,9 @@ pub fn init(server: *Server, runtime_xwayland: bool) !void {
.export_dmabuf_manager = try wlr.ExportDmabufManagerV1.create(wl_server),
.screencopy_manager = try wlr.ScreencopyManagerV1.create(wl_server),
+ .image_copy_capture_manager = try wlr.ExtImageCopyCaptureManagerV1.create(wl_server, 1),
+ .output_image_capture_source_manager = try wlr.ExtOutputImageCaptureSourceManagerV1.create(wl_server, 1),
+
.foreign_toplevel_list = try wlr.ExtForeignToplevelListV1.create(wl_server, 1),
.scene = undefined,
@@ -322,6 +328,8 @@ fn blocklist(server: *Server, global: *const wl.Global) bool {
global == server.layer_shell.wlr_shell.global or
global == server.xkb_bindings.global or
global == server.screencopy_manager.global or
+ global == server.image_copy_capture_manager.global or
+ global == server.output_image_capture_source_manager.global or
global == server.foreign_toplevel_list.global or
global == server.export_dmabuf_manager.global or
global == server.data_control_manager.global or