1
0
Fork 0
forked from wry/wry

Merge pull request #515 from mahkoh/jorth/move-fullscreen

tree: when moving fullscreen toplevel, move underlying toplevel too
This commit is contained in:
mahkoh 2025-07-17 18:38:22 +02:00 committed by GitHub
commit e89763e3fe
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -970,7 +970,9 @@ pub fn toplevel_set_workspace(state: &Rc<State>, tl: Rc<dyn ToplevelNode>, ws: &
if old_ws.id == ws.id { if old_ws.id == ws.id {
return; return;
} }
if tl.tl_data().is_fullscreen.get() { let data = tl.tl_data();
let fullscreen = data.is_fullscreen.get();
if fullscreen {
if let Some(old) = ws.fullscreen.get() { if let Some(old) = ws.fullscreen.get() {
old.tl_set_fullscreen(false, None); old.tl_set_fullscreen(false, None);
} }
@ -978,8 +980,9 @@ pub fn toplevel_set_workspace(state: &Rc<State>, tl: Rc<dyn ToplevelNode>, ws: &
return; return;
} }
tl.clone().tl_set_fullscreen(false, None); tl.clone().tl_set_fullscreen(false, None);
tl.tl_set_fullscreen(true, Some(ws.clone())); if data.is_fullscreen.get() {
return; return;
}
} }
let cn = match tl.tl_data().parent.get() { let cn = match tl.tl_data().parent.get() {
Some(cn) => cn, Some(cn) => cn,
@ -996,6 +999,9 @@ pub fn toplevel_set_workspace(state: &Rc<State>, tl: Rc<dyn ToplevelNode>, ws: &
let (width, height) = tl.tl_data().float_size(ws); let (width, height) = tl.tl_data().float_size(ws);
state.map_floating(tl.clone(), width, height, ws, None); state.map_floating(tl.clone(), width, height, ws, None);
} else { } else {
state.map_tiled_on(tl, ws); state.map_tiled_on(tl.clone(), ws);
}
if fullscreen {
tl.tl_set_fullscreen(true, Some(ws.clone()));
} }
} }