aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2024-05-04 11:54:52 +0400
committerIvan Molodetskikh <yalterz@gmail.com>2024-05-04 11:54:52 +0400
commit314ad9d3e57fbf94772ab23ce77324042f79f680 (patch)
tree389572fd05b331db81017a0285d17a5aab29d044
parent99eb1227b17ee224c83a1a56103e3fb9eb6c34b8 (diff)
downloadniri-314ad9d3e57fbf94772ab23ce77324042f79f680.tar.gz
niri-314ad9d3e57fbf94772ab23ce77324042f79f680.tar.bz2
niri-314ad9d3e57fbf94772ab23ce77324042f79f680.zip
Fix rounded corners on blocked-out resizes
-rw-r--r--src/layout/tile.rs11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/layout/tile.rs b/src/layout/tile.rs
index d989030b..e99c24a3 100644
--- a/src/layout/tile.rs
+++ b/src/layout/tile.rs
@@ -633,6 +633,17 @@ impl<W: LayoutElement> Tile<W> {
.map_err(|err| warn!("error rendering window to texture: {err:?}"))
.ok();
+ // Clip blocked-out resizes unconditionally because they use solid color render
+ // elements.
+ let clip_to_geometry = if target
+ .should_block_out(resize.snapshot.block_out_from)
+ && target.should_block_out(rules.block_out_from)
+ {
+ true
+ } else {
+ clip_to_geometry
+ };
+
if let Some((texture_current, _sync_point, texture_current_geo)) = current {
let elem = ResizeRenderElement::new(
area,