diff --git a/build.zig b/build.zig index 2377cfd..81128dc 100644 --- a/build.zig +++ b/build.zig @@ -90,6 +90,7 @@ pub fn build(b: *Build) !void { scanner.addSystemProtocol("staging/color-representation/color-representation-v1.xml"); scanner.addSystemProtocol("staging/cursor-shape/cursor-shape-v1.xml"); scanner.addSystemProtocol("staging/ext-session-lock/ext-session-lock-v1.xml"); + scanner.addSystemProtocol("staging/ext-image-copy-capture/ext-image-copy-capture-v1.xml"); scanner.addSystemProtocol("staging/tearing-control/tearing-control-v1.xml"); scanner.addSystemProtocol("unstable/pointer-constraints/pointer-constraints-unstable-v1.xml"); scanner.addSystemProtocol("unstable/pointer-gestures/pointer-gestures-unstable-v1.xml"); @@ -120,6 +121,7 @@ pub fn build(b: *Build) !void { scanner.generate("zwp_tablet_manager_v2", 1); scanner.generate("zxdg_decoration_manager_v1", 1); scanner.generate("ext_session_lock_manager_v1", 1); + scanner.generate("ext_image_copy_capture_manager_v1", 1); scanner.generate("wp_cursor_shape_manager_v1", 1); scanner.generate("wp_tearing_control_manager_v1", 1); scanner.generate("wp_color_manager_v1", 2); diff --git a/river/Server.zig b/river/Server.zig index eb5de2b..5d0f068 100644 --- a/river/Server.zig +++ b/river/Server.zig @@ -91,6 +91,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_manager: *wlr.ForeignToplevelManagerV1, foreign_toplevel_list: *wlr.ExtForeignToplevelListV1, @@ -176,6 +179,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_manager = try wlr.ForeignToplevelManagerV1.create(wl_server), .foreign_toplevel_list = try wlr.ExtForeignToplevelListV1.create(wl_server, 1), @@ -384,6 +390,8 @@ fn blocklist(server: *Server, global: *const wl.Global) bool { global == server.foreign_toplevel_manager.global or global == server.foreign_toplevel_list.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.export_dmabuf_manager.global or global == server.data_control_manager.global or global == server.layout_manager.global or