Set ElementFilter in render_output to match kms backend

This way the same behavior will apply in winit/x11 backends.
This commit is contained in:
Ian Douglas Scott 2024-07-12 18:27:30 -07:00 committed by Victoria Brekenfeld
parent 0636bcdef3
commit 9c65476091

View file

@ -20,7 +20,10 @@ use crate::{
CosmicMappedRenderElement, OverviewMode, SeatExt, SessionLock, Trigger, WorkspaceDelta, CosmicMappedRenderElement, OverviewMode, SeatExt, SessionLock, Trigger, WorkspaceDelta,
WorkspaceRenderElement, WorkspaceRenderElement,
}, },
utils::{prelude::*, quirks::WORKSPACE_OVERVIEW_NAMESPACE}, utils::{
prelude::*,
quirks::{workspace_overview_is_open, WORKSPACE_OVERVIEW_NAMESPACE},
},
wayland::{ wayland::{
handlers::{ handlers::{
data_device::get_dnd_icon, data_device::get_dnd_icon,
@ -989,6 +992,12 @@ where
let workspace = (workspace.handle, idx); let workspace = (workspace.handle, idx);
std::mem::drop(shell_ref); std::mem::drop(shell_ref);
let element_filter = if workspace_overview_is_open(output) {
ElementFilter::LayerShellOnly
} else {
ElementFilter::All
};
let result = render_workspace( let result = render_workspace(
gpu, gpu,
renderer, renderer,
@ -1002,7 +1011,7 @@ where
previous_workspace, previous_workspace,
workspace, workspace,
cursor_mode, cursor_mode,
ElementFilter::All, element_filter,
); );
match result { match result {