aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/backend/winit.rs3
-rw-r--r--src/niri.rs12
2 files changed, 11 insertions, 4 deletions
diff --git a/src/backend/winit.rs b/src/backend/winit.rs
index cd8ceafd..b11f8e79 100644
--- a/src/backend/winit.rs
+++ b/src/backend/winit.rs
@@ -16,7 +16,6 @@ use smithay::reexports::calloop::LoopHandle;
use smithay::reexports::wayland_protocols::wp::presentation_time::server::wp_presentation_feedback;
use smithay::reexports::winit::dpi::LogicalSize;
use smithay::reexports::winit::window::WindowBuilder;
-use smithay::utils::Transform;
use super::RenderResult;
use crate::niri::{RedrawState, State};
@@ -54,7 +53,7 @@ impl Winit {
size: backend.window_size(),
refresh: 60_000,
};
- output.change_current_state(Some(mode), Some(Transform::Flipped180), None, None);
+ output.change_current_state(Some(mode), None, None, None);
output.set_preferred(mode);
let physical_properties = output.physical_properties();
diff --git a/src/niri.rs b/src/niri.rs
index 424fa712..b2d583be 100644
--- a/src/niri.rs
+++ b/src/niri.rs
@@ -654,9 +654,13 @@ impl State {
let scale = config.map(|c| c.scale).unwrap_or(1.);
let scale = scale.clamp(1., 10.).ceil() as i32;
- let transform = config
+ let mut transform = config
.map(|c| c.transform.into())
.unwrap_or(Transform::Normal);
+ // FIXME: fix winit damage on other transforms.
+ if name == "winit" {
+ transform = Transform::Flipped180;
+ }
if output.current_scale().integer_scale() != scale
|| output.current_transform() != transform
@@ -1179,7 +1183,11 @@ impl Niri {
let c = config.outputs.iter().find(|o| o.name == name);
let scale = c.map(|c| c.scale).unwrap_or(1.);
let scale = scale.clamp(1., 10.).ceil() as i32;
- let transform = c.map(|c| c.transform.into()).unwrap_or(Transform::Normal);
+ let mut transform = c.map(|c| c.transform.into()).unwrap_or(Transform::Normal);
+ // FIXME: fix winit damage on other transforms.
+ if name == "winit" {
+ transform = Transform::Flipped180;
+ }
drop(config);
// Set scale and transform before adding to the layout since that will read the output size.