x11surface: Unmap on minimize

This commit is contained in:
Victoria Brekenfeld 2024-07-09 17:22:00 +02:00 committed by Victoria Brekenfeld
parent d85b6f0e50
commit bf6ea3414b

View file

@ -365,28 +365,21 @@ impl CosmicSurface {
} }
pub fn is_minimized(&self) -> bool { pub fn is_minimized(&self) -> bool {
match self.0.underlying_surface() { self.0
WindowSurface::Wayland(_) => self
.0
.user_data() .user_data()
.get_or_insert_threadsafe(Minimized::default) .get_or_insert_threadsafe(Minimized::default)
.0 .0
.load(Ordering::SeqCst), .load(Ordering::SeqCst)
WindowSurface::X11(surface) => surface.is_minimized(),
}
} }
pub fn set_minimized(&self, minimized: bool) { pub fn set_minimized(&self, minimized: bool) {
match self.0.underlying_surface() { self.0
WindowSurface::Wayland(_) => self
.0
.user_data() .user_data()
.get_or_insert_threadsafe(Minimized::default) .get_or_insert_threadsafe(Minimized::default)
.0 .0
.store(minimized, Ordering::SeqCst), .store(minimized, Ordering::SeqCst);
WindowSurface::X11(surface) => { if let WindowSurface::X11(surface) = self.0.underlying_surface() {
let _ = surface.set_minimized(minimized); let _ = surface.set_mapped(!minimized);
}
} }
} }
@ -399,7 +392,9 @@ impl CosmicSurface {
state.states.unset(ToplevelState::Suspended); state.states.unset(ToplevelState::Suspended);
} }
}), }),
_ => {} WindowSurface::X11(surface) => {
let _ = surface.set_minimized(suspended);
}
} }
} }