diff --git a/gnome/src/virtualdisplayeffect.js b/gnome/src/virtualdisplayeffect.js index c51bd7e..c112481 100644 --- a/gnome/src/virtualdisplayeffect.js +++ b/gnome/src/virtualdisplayeffect.js @@ -588,7 +588,6 @@ export const VirtualDisplayEffect = GObject.registerClass({ const posePositionPixels = this.imu_snapshots.pose_position.map(coord => coord * this.fov_details.completeScreenDistancePixels); this.set_uniform_matrix(this.get_uniform_location("u_pose_orientation"), false, 4, this.imu_snapshots.pose_orientation); this.set_uniform_float(this.get_uniform_location("u_pose_position"), 3, posePositionPixels); - console.log(`Breezy - Setting pose position: ${posePositionPixels}`); } else { this.set_uniform_matrix(this.get_uniform_location("u_pose_orientation"), false, 4, this.imu_snapshots.smooth_follow_origin); this.set_uniform_float(this.get_uniform_location("u_pose_position"), 3, [0.0, 0.0, 0.0]); diff --git a/gnome/src/virtualdisplaysactor.js b/gnome/src/virtualdisplaysactor.js index d5c915c..ad4dcec 100644 --- a/gnome/src/virtualdisplaysactor.js +++ b/gnome/src/virtualdisplaysactor.js @@ -926,9 +926,12 @@ export const VirtualDisplaysActor = GObject.registerClass({ } _handle_display_size_change(update_placements = true) { + const sizeComplement = 1.0 - this.display_size; + const sizeViewportOffsetX = sizeComplement * this.target_monitor.width; + const sizeViewportOffsetY = sizeComplement * this.target_monitor.height; this._all_monitors = this._all_monitors_unmodified.map(monitor => ({ - x: monitor.x * this.display_size, - y: monitor.y * this.display_size, + x: monitor.x * this.display_size + sizeViewportOffsetX, + y: monitor.y * this.display_size + sizeViewportOffsetY, width: monitor.width * this.display_size, height: monitor.height * this.display_size }));