diff --git a/src/renderer.rs b/src/renderer.rs index 0c698b23..fcf99a98 100644 --- a/src/renderer.rs +++ b/src/renderer.rs @@ -86,7 +86,6 @@ 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); { @@ -183,6 +182,7 @@ 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 7aaba7a4..6515bf3e 100644 --- a/src/tree/output.rs +++ b/src/tree/output.rs @@ -1057,13 +1057,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); } @@ -1500,7 +1500,7 @@ impl Node for OutputNode { } } { - let res = self.find_layer_surface_at(x, y, &[OVERLAY], tree, usecase); + let res = self.find_layer_surface_at(x, y, &[OVERLAY, TOP], tree, usecase); if res.accepts_input() { return res; } @@ -1561,7 +1561,7 @@ impl Node for OutputNode { } } if search_layers { - self.find_layer_surface_at(x, y, &[TOP, BOTTOM, BACKGROUND], tree, usecase); + self.find_layer_surface_at(x, y, &[BOTTOM, BACKGROUND], tree, usecase); } FindTreeResult::AcceptsInput }