1
0
Fork 0
forked from wry/wry

tree: render overlayes over fullscreen windows

This commit is contained in:
Julian Orth 2022-07-31 11:28:25 +02:00
parent a162055f1d
commit 9c21d118d6
2 changed files with 14 additions and 7 deletions

View file

@ -79,12 +79,6 @@ impl Renderer<'_> {
} }
return; return;
} }
if let Some(ws) = output.workspace.get() {
if let Some(fs) = ws.fullscreen.get() {
fs.tl_as_node().node_render(self, x, y);
return;
}
}
let opos = output.global.pos.get(); let opos = output.global.pos.get();
macro_rules! render_layer { macro_rules! render_layer {
($layer:expr) => { ($layer:expr) => {
@ -98,6 +92,13 @@ impl Renderer<'_> {
} }
}; };
} }
if let Some(ws) = output.workspace.get() {
if let Some(fs) = ws.fullscreen.get() {
fs.tl_as_node().node_render(self, x, y);
render_layer!(output.layers[3]);
return;
}
}
render_layer!(output.layers[0]); render_layer!(output.layers[0]);
render_layer!(output.layers[1]); render_layer!(output.layers[1]);
let theme = &self.state.theme; let theme = &self.state.theme;

View file

@ -535,6 +535,12 @@ impl Node for OutputNode {
} }
return FindTreeResult::AcceptsInput; return FindTreeResult::AcceptsInput;
} }
{
let res = self.find_layer_surface_at(x, y, &[OVERLAY], tree);
if res.accepts_input() {
return res;
}
}
if let Some(ws) = self.workspace.get() { if let Some(ws) = self.workspace.get() {
if let Some(fs) = ws.fullscreen.get() { if let Some(fs) = ws.fullscreen.get() {
tree.push(FoundNode { tree.push(FoundNode {
@ -546,7 +552,7 @@ impl Node for OutputNode {
} }
} }
{ {
let res = self.find_layer_surface_at(x, y, &[OVERLAY, TOP], tree); let res = self.find_layer_surface_at(x, y, &[TOP], tree);
if res.accepts_input() { if res.accepts_input() {
return res; return res;
} }