x11surface: Unmap on minimize
This commit is contained in:
parent
d85b6f0e50
commit
bf6ea3414b
1 changed files with 15 additions and 20 deletions
|
|
@ -365,28 +365,21 @@ impl CosmicSurface {
|
|||
}
|
||||
|
||||
pub fn is_minimized(&self) -> bool {
|
||||
match self.0.underlying_surface() {
|
||||
WindowSurface::Wayland(_) => self
|
||||
.0
|
||||
.user_data()
|
||||
.get_or_insert_threadsafe(Minimized::default)
|
||||
.0
|
||||
.load(Ordering::SeqCst),
|
||||
WindowSurface::X11(surface) => surface.is_minimized(),
|
||||
}
|
||||
self.0
|
||||
.user_data()
|
||||
.get_or_insert_threadsafe(Minimized::default)
|
||||
.0
|
||||
.load(Ordering::SeqCst)
|
||||
}
|
||||
|
||||
pub fn set_minimized(&self, minimized: bool) {
|
||||
match self.0.underlying_surface() {
|
||||
WindowSurface::Wayland(_) => self
|
||||
.0
|
||||
.user_data()
|
||||
.get_or_insert_threadsafe(Minimized::default)
|
||||
.0
|
||||
.store(minimized, Ordering::SeqCst),
|
||||
WindowSurface::X11(surface) => {
|
||||
let _ = surface.set_minimized(minimized);
|
||||
}
|
||||
self.0
|
||||
.user_data()
|
||||
.get_or_insert_threadsafe(Minimized::default)
|
||||
.0
|
||||
.store(minimized, Ordering::SeqCst);
|
||||
if let WindowSurface::X11(surface) = self.0.underlying_surface() {
|
||||
let _ = surface.set_mapped(!minimized);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -399,7 +392,9 @@ impl CosmicSurface {
|
|||
state.states.unset(ToplevelState::Suspended);
|
||||
}
|
||||
}),
|
||||
_ => {}
|
||||
WindowSurface::X11(surface) => {
|
||||
let _ = surface.set_minimized(suspended);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue