diff options
| author | Ivan Molodetskikh <yalterz@gmail.com> | 2024-12-26 09:27:59 +0300 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2024-12-30 20:12:37 +0300 |
| commit | 7e852124a5c198cd2e7ada53b3e1626eeb87dbf7 (patch) | |
| tree | 3dfe62c5c8b84d2317da1d461c13a5d9139df78e | |
| parent | f66a49bc42f9352ac77a926617dd8a9cdaef0b9b (diff) | |
| download | niri-7e852124a5c198cd2e7ada53b3e1626eeb87dbf7.tar.gz niri-7e852124a5c198cd2e7ada53b3e1626eeb87dbf7.tar.bz2 niri-7e852124a5c198cd2e7ada53b3e1626eeb87dbf7.zip | |
floating: Fix window position constraining with non-zero working area loc
| -rw-r--r-- | src/layout/floating.rs | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/layout/floating.rs b/src/layout/floating.rs index 547c9222..dac4ed12 100644 --- a/src/layout/floating.rs +++ b/src/layout/floating.rs @@ -139,6 +139,7 @@ impl Data { let max_off_screen_hor = f64::max(0., self.size.w - min_on_screen_hor); let max_off_screen_ver = f64::max(0., self.size.h - min_on_screen_ver); + logical_pos -= self.working_area.loc; logical_pos.x = f64::max(logical_pos.x, -max_off_screen_hor); logical_pos.y = f64::max(logical_pos.y, -max_off_screen_ver); logical_pos.x = f64::min( @@ -149,6 +150,7 @@ impl Data { logical_pos.y, self.working_area.size.h - self.size.h + max_off_screen_ver, ); + logical_pos += self.working_area.loc; self.logical_pos = logical_pos; } |
