1
0
Fork 0
forked from wry/wry

Set top layer surfaces below fullscreen windows

This commit is contained in:
Mostafa Ibrahim 2025-06-21 17:39:56 +03:00 committed by Julian Orth
parent ae9fb541f4
commit 5c30a9da27
2 changed files with 4 additions and 4 deletions

View file

@ -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()

View file

@ -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
}