From 3aad95d4638e4db30c00d922fbc3a1e48d294c30 Mon Sep 17 00:00:00 2001 From: Ian Douglas Scott Date: Thu, 11 Sep 2025 14:22:17 -0700 Subject: [PATCH] screencopy: Capture with full damage Should accumulate damage, but this will behave correctly, if not optimally. Not yet required with cosmic-comp implementation. --- src/backend/wayland/screencopy.rs | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/backend/wayland/screencopy.rs b/src/backend/wayland/screencopy.rs index ce2ec36..1594720 100644 --- a/src/backend/wayland/screencopy.rs +++ b/src/backend/wayland/screencopy.rs @@ -3,7 +3,7 @@ use cosmic::{ self, screencopy::{ CaptureFrame, CaptureOptions, CaptureSession, CaptureSource, FailureReason, Formats, - Frame, ScreencopyFrameData, ScreencopyFrameDataExt, ScreencopyHandler, + Frame, Rect, ScreencopyFrameData, ScreencopyFrameDataExt, ScreencopyHandler, ScreencopySessionData, ScreencopySessionDataExt, ScreencopyState, }, wayland_client::{Connection, QueueHandle, WEnum}, @@ -66,9 +66,18 @@ impl ScreencopySession { // TODO // let node = back.node().and_then(|x| x.to_str().map(|x| x.to_string())); + // TODO: accumulate damage + let (width, height) = back.size; + let full_damage = &[Rect { + x: 0, + y: 0, + width: width as i32, + height: height as i32, + }]; + self.session.capture( &back.buffer, - &[], + full_damage, qh, FrameData { frame_data: Default::default(),