tiling: Exclude maximized windows from input/render
This commit is contained in:
parent
24bf2e856a
commit
8a32571b8a
2 changed files with 15 additions and 0 deletions
|
|
@ -3160,6 +3160,9 @@ impl TilingLayout {
|
||||||
if !mapped.bbox().contains((location - geo.loc).as_logical()) {
|
if !mapped.bbox().contains((location - geo.loc).as_logical()) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
if mapped.is_maximized(false) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
if let Some((target, surface_offset)) = mapped.focus_under(
|
if let Some((target, surface_offset)) = mapped.focus_under(
|
||||||
(location_f64 - geo.loc.to_f64()).as_logical() + mapped.geometry().loc.to_f64(),
|
(location_f64 - geo.loc.to_f64()).as_logical() + mapped.geometry().loc.to_f64(),
|
||||||
WindowSurfaceType::POPUP | WindowSurfaceType::SUBSURFACE,
|
WindowSurfaceType::POPUP | WindowSurfaceType::SUBSURFACE,
|
||||||
|
|
@ -3190,6 +3193,9 @@ impl TilingLayout {
|
||||||
if !mapped.bbox().contains((location - geo.loc).as_logical()) {
|
if !mapped.bbox().contains((location - geo.loc).as_logical()) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
if mapped.is_maximized(false) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
if let Some((target, surface_offset)) = mapped.focus_under(
|
if let Some((target, surface_offset)) = mapped.focus_under(
|
||||||
(location_f64 - geo.loc.to_f64()).as_logical() + mapped.geometry().loc.to_f64(),
|
(location_f64 - geo.loc.to_f64()).as_logical() + mapped.geometry().loc.to_f64(),
|
||||||
WindowSurfaceType::TOPLEVEL | WindowSurfaceType::SUBSURFACE,
|
WindowSurfaceType::TOPLEVEL | WindowSurfaceType::SUBSURFACE,
|
||||||
|
|
@ -5045,6 +5051,7 @@ fn render_old_tree(
|
||||||
_ => unreachable!(),
|
_ => unreachable!(),
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
.filter(|(mapped, _, _, _)| !mapped.is_maximized(false))
|
||||||
.filter(|(mapped, _, _, _)| {
|
.filter(|(mapped, _, _, _)| {
|
||||||
if let Some(root) = target_tree.root_node_id() {
|
if let Some(root) = target_tree.root_node_id() {
|
||||||
is_swap_mode
|
is_swap_mode
|
||||||
|
|
@ -5707,6 +5714,11 @@ fn render_new_tree(
|
||||||
(new_geo, percentage, false)
|
(new_geo, percentage, false)
|
||||||
};
|
};
|
||||||
|
|
||||||
|
if let Data::Mapped { mapped, .. } = data {
|
||||||
|
if mapped.is_maximized(false) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
processor(node_id, data, geo, original_geo, alpha, animating)
|
processor(node_id, data, geo, original_geo, alpha, animating)
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1107,6 +1107,9 @@ impl Workspace {
|
||||||
pub fn node_desc(&self, focus: KeyboardFocusTarget) -> Option<NodeDesc> {
|
pub fn node_desc(&self, focus: KeyboardFocusTarget) -> Option<NodeDesc> {
|
||||||
match focus {
|
match focus {
|
||||||
KeyboardFocusTarget::Element(mapped) => {
|
KeyboardFocusTarget::Element(mapped) => {
|
||||||
|
if mapped.is_maximized(false) {
|
||||||
|
return None;
|
||||||
|
}
|
||||||
self.tiling_layer.mapped().find_map(|(m, _)| {
|
self.tiling_layer.mapped().find_map(|(m, _)| {
|
||||||
if m == &mapped {
|
if m == &mapped {
|
||||||
mapped
|
mapped
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue