diff --git a/src/renderer.rs b/src/renderer.rs index fcf99a98..0c698b23 100644 --- a/src/renderer.rs +++ b/src/renderer.rs @@ -86,6 +86,7 @@ impl Renderer<'_> { } else { render_layer!(output.layers[0]); render_layer!(output.layers[1]); + render_layer!(output.layers[2]); let non_exclusive_rect = output.non_exclusive_rect_rel.get(); let (x, y) = non_exclusive_rect.translate_inv(x, y); { @@ -182,7 +183,6 @@ impl Renderer<'_> { }; } render_stacked!(self.state.root.stacked); - render_layer!(output.layers[2]); render_layer!(output.layers[3]); render_stacked!(self.state.root.stacked_above_layers); if let Some(ws) = output.workspace.get() diff --git a/src/tree/output.rs b/src/tree/output.rs index dd2aa0a0..73b67996 100644 --- a/src/tree/output.rs +++ b/src/tree/output.rs @@ -1048,13 +1048,13 @@ impl OutputNode { self.title_visible.set(lower_visible); set_layer_visible!(self.layers[0], lower_visible); set_layer_visible!(self.layers[1], lower_visible); + set_layer_visible!(self.layers[2], lower_visible); for item in self.tray_items.iter() { item.set_visible(lower_visible); } if let Some(ws) = self.workspace.get() { ws.set_visible(visible); } - set_layer_visible!(self.layers[2], visible); set_layer_visible!(self.layers[3], visible); } @@ -1488,7 +1488,7 @@ impl Node for OutputNode { } } { - let res = self.find_layer_surface_at(x, y, &[OVERLAY, TOP], tree, usecase); + let res = self.find_layer_surface_at(x, y, &[OVERLAY], tree, usecase); if res.accepts_input() { return res; } @@ -1549,7 +1549,7 @@ impl Node for OutputNode { } } if search_layers { - self.find_layer_surface_at(x, y, &[BOTTOM, BACKGROUND], tree, usecase); + self.find_layer_surface_at(x, y, &[TOP, BOTTOM, BACKGROUND], tree, usecase); } FindTreeResult::AcceptsInput }