layer-shell: only reset 'initial_configure_sent' for mapped surfaces

This commit is contained in:
alex-huff
2025-05-22 09:49:51 -05:00
committed by Ivan Molodetskikh
parent d618daf6b9
commit 51a176ec4a
+3 -1
View File
@@ -174,13 +174,14 @@ impl State {
self.niri.layer_shell_on_demand_focus = Some(layer.clone());
}
} else {
self.niri.mapped_layer_surfaces.remove(layer);
let was_mapped = self.niri.mapped_layer_surfaces.remove(layer).is_some();
self.niri.unmapped_layer_surfaces.insert(surface.clone());
// After layer surface unmaps it has to perform the initial commit-configure
// sequence again. This is a workaround until Smithay properly resets
// initial_configure_sent upon the surface unmapping itself as it does for
// toplevels.
if was_mapped {
with_states(surface, |states| {
let mut data = states
.data_map
@@ -191,6 +192,7 @@ impl State {
data.initial_configure_sent = false;
});
}
}
} else {
let scale = output.current_scale();
let transform = output.current_transform();