Exclude DnD surfaces from workspace capture

Fixes https://github.com/pop-os/cosmic-workspaces-epoch/issues/25.
This commit is contained in:
Ian Douglas Scott 2024-04-10 13:33:26 -07:00 • committed by Victoria Brekenfeld
parent 2ff8a2d200
commit f83d80d471

View file

@ -390,6 +390,7 @@ pub fn cursor_elements<'frame, R>(
state: &Common, state: &Common,
output: &Output, output: &Output,
mode: CursorMode, mode: CursorMode,
exclude_dnd_icon: bool,
) -> Vec<CosmicElement<R>> ) -> Vec<CosmicElement<R>>
where where
R: Renderer + ImportAll + ImportMem + AsGlowRenderer, R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
@ -427,6 +428,7 @@ where
); );
} }
if !exclude_dnd_icon {
if let Some(wl_surface) = get_dnd_icon(seat) { if let Some(wl_surface) = get_dnd_icon(seat) {
elements.extend( elements.extend(
cursor::draw_dnd_icon(renderer, &wl_surface, location.to_i32_round(), scale) cursor::draw_dnd_icon(renderer, &wl_surface, location.to_i32_round(), scale)
@ -434,6 +436,7 @@ where
.map(CosmicElement::Dnd), .map(CosmicElement::Dnd),
); );
} }
}
let theme = state.theme.cosmic(); let theme = state.theme.cosmic();
if let Some(grab_elements) = seat if let Some(grab_elements) = seat
@ -481,7 +484,13 @@ where
CosmicMappedRenderElement<R>: RenderElement<R>, CosmicMappedRenderElement<R>: RenderElement<R>,
WorkspaceRenderElement<R>: RenderElement<R>, WorkspaceRenderElement<R>: RenderElement<R>,
{ {
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")] #[cfg(feature = "debug")]
{ {