shell: Handle tiling_enabled for previous_state better

This commit is contained in:
Victoria Brekenfeld 2024-01-26 18:47:59 +00:00 committed by Victoria Brekenfeld
parent 61a3aa8d79
commit ce74675b0e
3 changed files with 34 additions and 31 deletions

View file

@ -444,7 +444,7 @@ impl Workspace {
let mut state = elem.maximized_state.lock().unwrap();
if let Some(state) = state.take() {
match state.original_layer {
ManagedLayer::Tiling => {
ManagedLayer::Tiling if self.tiling_enabled => {
// should still be mapped in tiling
self.floating_layer.unmap(&elem);
elem.output_enter(&self.output, elem.bbox());
@ -456,7 +456,8 @@ impl Workspace {
.element_geometry(&elem)
.map(|geo| geo.size.as_logical())
}
ManagedLayer::Floating => {
ManagedLayer::Sticky => unreachable!(),
_ => {
elem.set_maximized(false);
self.floating_layer.map_internal(
elem.clone(),
@ -466,7 +467,6 @@ impl Workspace {
);
Some(state.original_geometry.size.as_logical())
}
ManagedLayer::Sticky => unreachable!(),
}
} else {
None