floating: restore size and loc on unmaximize
This commit is contained in:
parent
b2572e05ad
commit
bf0b959e4d
3 changed files with 67 additions and 13 deletions
|
|
@ -226,11 +226,16 @@ impl XdgShellHandler for State {
|
|||
}
|
||||
|
||||
fn unmaximize_request(&mut self, _dh: &DisplayHandle, surface: ToplevelSurface) {
|
||||
surface.with_pending_state(|state| {
|
||||
state.states.unset(xdg_toplevel::State::Maximized);
|
||||
state.size = None;
|
||||
});
|
||||
surface.send_configure();
|
||||
let surface = surface.wl_surface();
|
||||
|
||||
if let Some(workspace) = self.common.shell.space_for_surface_mut(surface) {
|
||||
let window = workspace
|
||||
.space
|
||||
.window_for_surface(surface, WindowSurfaceType::TOPLEVEL)
|
||||
.unwrap()
|
||||
.clone();
|
||||
workspace.unmaximize_request(&window)
|
||||
}
|
||||
}
|
||||
|
||||
fn fullscreen_request(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue