Fix issue with virtual displays with mismatched aspect ratios
This commit is contained in:
parent
d7ebba9eeb
commit
59b957cd37
|
|
@ -384,7 +384,7 @@ export const VirtualDisplayEffect = GObject.registerClass({
|
||||||
|
|
||||||
vfunc_paint_target(node, paintContext) {
|
vfunc_paint_target(node, paintContext) {
|
||||||
if (!this._initialized) {
|
if (!this._initialized) {
|
||||||
const aspect = this.get_actor().width / this.get_actor().height;
|
const aspect = this.target_monitor.width / this.target_monitor.height;
|
||||||
const fovDiagonalRadians = Globals.data_stream.device_data.displayFov * Math.PI / 180.0;
|
const fovDiagonalRadians = Globals.data_stream.device_data.displayFov * Math.PI / 180.0;
|
||||||
const diagToVertRatio = Math.sqrt(aspect * aspect + 1);
|
const diagToVertRatio = Math.sqrt(aspect * aspect + 1);
|
||||||
const fovVerticalRadians = fovDiagonalRadians / diagToVertRatio;
|
const fovVerticalRadians = fovDiagonalRadians / diagToVertRatio;
|
||||||
|
|
|
||||||
|
|
@ -664,9 +664,7 @@ export const VirtualDisplaysActor = GObject.registerClass({
|
||||||
);
|
);
|
||||||
|
|
||||||
if (this.focused_monitor_index !== focusedMonitorIndex) {
|
if (this.focused_monitor_index !== focusedMonitorIndex) {
|
||||||
if (this.focused_monitor_index !== -1)
|
Globals.logger.log_debug(`Switching to monitor ${focusedMonitorIndex}`);
|
||||||
Globals.logger.log_debug(`Switching to monitor ${focusedMonitorIndex}`);
|
|
||||||
|
|
||||||
this.focused_monitor_index = focusedMonitorIndex;
|
this.focused_monitor_index = focusedMonitorIndex;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue