aboutsummaryrefslogtreecommitdiff
path: root/src/niri.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/niri.rs')
-rw-r--r--src/niri.rs19
1 files changed, 11 insertions, 8 deletions
diff --git a/src/niri.rs b/src/niri.rs
index c06d99c7..1acb01ea 100644
--- a/src/niri.rs
+++ b/src/niri.rs
@@ -2880,9 +2880,9 @@ impl Niri {
let mon = self.layout.monitor_for_output(output).unwrap();
if !mon.render_above_top_layer()
&& (layer_popup_under(Layer::Top)
+ || layer_toplevel_under(Layer::Top)
|| layer_popup_under(Layer::Bottom)
- || layer_popup_under(Layer::Background)
- || layer_toplevel_under(Layer::Top))
+ || layer_popup_under(Layer::Background))
{
return None;
}
@@ -3008,17 +3008,17 @@ impl Niri {
under = under
.or_else(window_under)
.or_else(|| layer_popup_under(Layer::Top))
+ .or_else(|| layer_toplevel_under(Layer::Top))
.or_else(|| layer_popup_under(Layer::Bottom))
.or_else(|| layer_popup_under(Layer::Background))
- .or_else(|| layer_toplevel_under(Layer::Top))
.or_else(|| layer_toplevel_under(Layer::Bottom))
.or_else(|| layer_toplevel_under(Layer::Background));
} else {
under = under
.or_else(|| layer_popup_under(Layer::Top))
+ .or_else(|| layer_toplevel_under(Layer::Top))
.or_else(|| layer_popup_under(Layer::Bottom))
.or_else(|| layer_popup_under(Layer::Background))
- .or_else(|| layer_toplevel_under(Layer::Top))
.or_else(window_under)
.or_else(|| layer_toplevel_under(Layer::Bottom))
.or_else(|| layer_toplevel_under(Layer::Background));
@@ -3791,10 +3791,13 @@ impl Niri {
extend_from_layer(&mut layer_elems, Layer::Overlay);
elements.extend(layer_elems.into_iter().map(OutputRenderElements::from));
- // Collect all other layer-shell elements.
+ // Collect the top layer elements.
let mut layer_elems = SplitElements::default();
extend_from_layer(&mut layer_elems, Layer::Top);
- let top_layer_normal = mem::take(&mut layer_elems.normal);
+ let top_layer = layer_elems;
+
+ // Collect all other layer-shell elements.
+ let mut layer_elems = SplitElements::default();
extend_from_layer(&mut layer_elems, Layer::Bottom);
extend_from_layer(&mut layer_elems, Layer::Background);
@@ -3808,12 +3811,12 @@ impl Niri {
);
elements.extend(monitor_elements.into_iter().map(OutputRenderElements::from));
+ elements.extend(top_layer.into_iter().map(OutputRenderElements::from));
elements.extend(layer_elems.popups.drain(..).map(OutputRenderElements::from));
- elements.extend(top_layer_normal.into_iter().map(OutputRenderElements::from));
elements.extend(layer_elems.normal.drain(..).map(OutputRenderElements::from));
} else {
+ elements.extend(top_layer.into_iter().map(OutputRenderElements::from));
elements.extend(layer_elems.popups.drain(..).map(OutputRenderElements::from));
- elements.extend(top_layer_normal.into_iter().map(OutputRenderElements::from));
elements.extend(
int_move_elements