diff options
| author | Ivan Molodetskikh <yalterz@gmail.com> | 2023-10-21 19:47:49 +0400 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2023-10-21 20:58:30 +0400 |
| commit | ccce8d3141d34608db4623bcd054af637c5a45cc (patch) | |
| tree | cc15d17262ce3eada429d0a019d7cd0406e46a74 /src | |
| parent | f3e04981d8eaf7cc25b9f01cf91cf595abc4387c (diff) | |
| download | niri-ccce8d3141d34608db4623bcd054af637c5a45cc.tar.gz niri-ccce8d3141d34608db4623bcd054af637c5a45cc.tar.bz2 niri-ccce8d3141d34608db4623bcd054af637c5a45cc.zip | |
Crop workspaces during transition tightly
Diffstat (limited to 'src')
| -rw-r--r-- | src/layout.rs | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/src/layout.rs b/src/layout.rs index 365e9f54..a4705e41 100644 --- a/src/layout.rs +++ b/src/layout.rs @@ -1706,7 +1706,7 @@ impl Monitor<Window> { let output_scale = Scale::from(self.output.current_scale().fractional_scale()); let output_transform = self.output.current_transform(); let output_mode = self.output.current_mode().unwrap(); - let output_size = output_transform.transform_size(output_mode.size); + let size = output_transform.transform_size(output_mode.size); match &self.workspace_switch { Some(switch) => { @@ -1714,8 +1714,7 @@ impl Monitor<Window> { let below_idx = render_idx.floor() as usize; let above_idx = render_idx.ceil() as usize; - let offset = - ((render_idx - below_idx as f64) * output_size.h as f64).round() as i32; + let offset = ((render_idx - below_idx as f64) * size.h as f64).round() as i32; let below = self.workspaces[below_idx].render_elements(renderer); let above = self.workspaces[above_idx].render_elements(renderer); @@ -1725,7 +1724,7 @@ impl Monitor<Window> { CropRenderElement::from_element( elem, output_scale, - Rectangle::from_loc_and_size((0, 0), output_size), + Rectangle::from_extemities((0, offset), (size.w, size.h)), )?, (0, -offset), Relocate::Relative, @@ -1736,9 +1735,9 @@ impl Monitor<Window> { CropRenderElement::from_element( elem, output_scale, - Rectangle::from_loc_and_size((0, 0), output_size), + Rectangle::from_extemities((0, 0), (size.w, offset)), )?, - (0, -offset + output_size.h), + (0, -offset + size.h), Relocate::Relative, )) }); @@ -1753,7 +1752,7 @@ impl Monitor<Window> { CropRenderElement::from_element( elem, output_scale, - Rectangle::from_loc_and_size((0, 0), output_size), + Rectangle::from_loc_and_size((0, 0), size), )?, (0, 0), Relocate::Relative, |
