tree: restack floaters and popups on demand
This commit is contained in:
parent
911591973e
commit
386d74f926
6 changed files with 52 additions and 6 deletions
|
|
@ -759,6 +759,7 @@ impl ContainerNode {
|
|||
}
|
||||
self.mono_child.set(Some(child.clone()));
|
||||
child.node.tl_set_visible(true);
|
||||
child.node.tl_restack_popups();
|
||||
// log::info!("activate_child2");
|
||||
self.schedule_layout();
|
||||
}
|
||||
|
|
@ -797,6 +798,7 @@ impl ContainerNode {
|
|||
.clone()
|
||||
.node_do_focus(&seat, Direction::Unspecified);
|
||||
}
|
||||
child.node.tl_restack_popups();
|
||||
} else {
|
||||
for child in self.children.iter() {
|
||||
child.node.tl_set_visible(true);
|
||||
|
|
@ -1366,6 +1368,7 @@ impl ContainingNode for ContainerNode {
|
|||
let mut body = None;
|
||||
if was_mc {
|
||||
self.mono_child.set(Some(link.to_ref()));
|
||||
link.node.tl_restack_popups();
|
||||
body = Some(self.mono_body.get());
|
||||
} else if !have_mc {
|
||||
body = Some(link.body.get());
|
||||
|
|
@ -1537,6 +1540,16 @@ impl ToplevelNodeBase for ContainerNode {
|
|||
}
|
||||
self
|
||||
}
|
||||
|
||||
fn tl_restack_popups(&self) {
|
||||
if let Some(mc) = self.mono_child.get() {
|
||||
mc.node.tl_restack_popups();
|
||||
} else {
|
||||
for child in self.children.iter() {
|
||||
child.node.tl_restack_popups();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fn direction_to_split(dir: Direction) -> (ContainerSplit, bool) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue