git.lucas.co / cce-compositor
Wayland compositor (wlroots)
git clone https://git.lucas.co/cce-compositor.git

commite35708db925d387a5899f9711d8257d5f24a7194
parent9d48807b55
authorIsaac Freund <[email protected]>
date2020-04-27 11:10
Fix application of exclusive zones

Fixes https://github.com/ifreund/river/issues/13

 src/output.zig | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/src/output.zig b/src/output.zig
index 7933831..7ef053f 100644
--- a/src/output.zig
+++ b/src/output.zig
@@ -235,11 +235,14 @@ pub const Output = struct {
             }
 
             // Apply offsets from borders and padding
-            new_box.x += @intCast(i32, border_width + outer_padding + view_padding);
-            new_box.y += @intCast(i32, border_width + outer_padding + view_padding);
-
-            new_box.width -= (border_width + view_padding) * 2;
-            new_box.height -= (border_width + view_padding) * 2;
+            const xy_offset = @intCast(i32, border_width + outer_padding + view_padding);
+            new_box.x += self.usable_box.x + xy_offset;
+            new_box.y += self.usable_box.y + xy_offset;
+
+            // Reduce size to allow space for borders/padding
+            const delta_size = (border_width + view_padding) * 2;
+            new_box.width -= delta_size;
+            new_box.height -= delta_size;
 
             // Set the view's pending box to the new dimensions
             view.pending_box = new_box;