From f83d80d471df41c112a6ec5c8423b1d34d965c8c Mon Sep 17 00:00:00 2001 From: Ian Douglas Scott Date: Wed, 10 Apr 2024 13:33:26 -0700 Subject: [PATCH] Exclude DnD surfaces from workspace capture Fixes https://github.com/pop-os/cosmic-workspaces-epoch/issues/25. --- src/backend/render/mod.rs | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/src/backend/render/mod.rs b/src/backend/render/mod.rs index a26f75cb..c9f8d81e 100644 --- a/src/backend/render/mod.rs +++ b/src/backend/render/mod.rs @@ -390,6 +390,7 @@ pub fn cursor_elements<'frame, R>( state: &Common, output: &Output, mode: CursorMode, + exclude_dnd_icon: bool, ) -> Vec> where R: Renderer + ImportAll + ImportMem + AsGlowRenderer, @@ -427,12 +428,14 @@ where ); } - if let Some(wl_surface) = get_dnd_icon(seat) { - elements.extend( - cursor::draw_dnd_icon(renderer, &wl_surface, location.to_i32_round(), scale) - .into_iter() - .map(CosmicElement::Dnd), - ); + if !exclude_dnd_icon { + if let Some(wl_surface) = get_dnd_icon(seat) { + elements.extend( + cursor::draw_dnd_icon(renderer, &wl_surface, location.to_i32_round(), scale) + .into_iter() + .map(CosmicElement::Dnd), + ); + } } let theme = state.theme.cosmic(); @@ -481,7 +484,13 @@ where CosmicMappedRenderElement: RenderElement, WorkspaceRenderElement: RenderElement, { - let mut elements = cursor_elements(renderer, state, output, cursor_mode); + let mut elements = cursor_elements( + renderer, + state, + output, + cursor_mode, + exclude_workspace_overview, + ); #[cfg(feature = "debug")] {