river: add new screen capture protocols

* ext-image-copy-capture-v1
* ext-image-capture-source-v1 (without toplevel capture)
This commit is contained in:
Peter Kaplan
2025-07-03 12:11:10 +02:00
parent ceb50e8c88
commit fa1a1b01bd
2 changed files with 10 additions and 0 deletions

View File

@@ -90,6 +90,7 @@ pub fn build(b: *Build) !void {
scanner.addSystemProtocol("staging/color-representation/color-representation-v1.xml"); scanner.addSystemProtocol("staging/color-representation/color-representation-v1.xml");
scanner.addSystemProtocol("staging/cursor-shape/cursor-shape-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-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("staging/tearing-control/tearing-control-v1.xml");
scanner.addSystemProtocol("unstable/pointer-constraints/pointer-constraints-unstable-v1.xml"); scanner.addSystemProtocol("unstable/pointer-constraints/pointer-constraints-unstable-v1.xml");
scanner.addSystemProtocol("unstable/pointer-gestures/pointer-gestures-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("zwp_tablet_manager_v2", 1);
scanner.generate("zxdg_decoration_manager_v1", 1); scanner.generate("zxdg_decoration_manager_v1", 1);
scanner.generate("ext_session_lock_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_cursor_shape_manager_v1", 1);
scanner.generate("wp_tearing_control_manager_v1", 1); scanner.generate("wp_tearing_control_manager_v1", 1);
scanner.generate("wp_color_manager_v1", 2); scanner.generate("wp_color_manager_v1", 2);

View File

@@ -91,6 +91,9 @@ data_control_manager: *wlr.DataControlManagerV1,
export_dmabuf_manager: *wlr.ExportDmabufManagerV1, export_dmabuf_manager: *wlr.ExportDmabufManagerV1,
screencopy_manager: *wlr.ScreencopyManagerV1, screencopy_manager: *wlr.ScreencopyManagerV1,
image_copy_capture_manager: *wlr.ExtImageCopyCaptureManagerV1,
output_image_capture_source_manager: *wlr.ExtOutputImageCaptureSourceManagerV1,
foreign_toplevel_manager: *wlr.ForeignToplevelManagerV1, foreign_toplevel_manager: *wlr.ForeignToplevelManagerV1,
foreign_toplevel_list: *wlr.ExtForeignToplevelListV1, 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), .export_dmabuf_manager = try wlr.ExportDmabufManagerV1.create(wl_server),
.screencopy_manager = try wlr.ScreencopyManagerV1.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_manager = try wlr.ForeignToplevelManagerV1.create(wl_server),
.foreign_toplevel_list = try wlr.ExtForeignToplevelListV1.create(wl_server, 1), .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_manager.global or
global == server.foreign_toplevel_list.global or global == server.foreign_toplevel_list.global or
global == server.screencopy_manager.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.export_dmabuf_manager.global or
global == server.data_control_manager.global or global == server.data_control_manager.global or
global == server.layout_manager.global or global == server.layout_manager.global or