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 .user_data()
.0 .get_or_insert_threadsafe(Minimized::default)
.user_data() .0
.get_or_insert_threadsafe(Minimized::default) .load(Ordering::SeqCst)
.0
.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 .user_data()
.0 .get_or_insert_threadsafe(Minimized::default)
.user_data() .0
.get_or_insert_threadsafe(Minimized::default) .store(minimized, Ordering::SeqCst);
.0 if let WindowSurface::X11(surface) = self.0.underlying_surface() {
.store(minimized, Ordering::SeqCst), let _ = surface.set_mapped(!minimized);
WindowSurface::X11(surface) => {
let _ = surface.set_minimized(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);
}
} }
} }