From 9927c15f68d277daa6de0a13194d25f81226ad2f Mon Sep 17 00:00:00 2001 From: Ivan Molodetskikh Date: Wed, 27 Mar 2024 17:03:17 +0400 Subject: Replace config transform with ipc --- src/niri.rs | 10 ++++++---- src/utils/mod.rs | 13 +++++++++++++ 2 files changed, 19 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/niri.rs b/src/niri.rs index 05ce00e9..98d714c2 100644 --- a/src/niri.rs +++ b/src/niri.rs @@ -115,8 +115,8 @@ use crate::ui::hotkey_overlay::HotkeyOverlay; use crate::ui::screenshot_ui::{ScreenshotUi, ScreenshotUiRenderElement}; use crate::utils::spawning::CHILD_ENV; use crate::utils::{ - center, center_f64, get_monotonic_time, logical_output, make_screenshot_path, output_size, - write_png_rgba8, + center, center_f64, get_monotonic_time, ipc_transform_to_smithay, logical_output, + make_screenshot_path, output_size, write_png_rgba8, }; use crate::window::{InitialConfigureState, Mapped, ResolvedWindowRules, Unmapped, WindowRef}; use crate::{animation, niri_render_elements}; @@ -903,7 +903,7 @@ impl State { let scale = scale.clamp(1., 10.).ceil() as i32; let mut transform = config - .map(|c| c.transform.into()) + .map(|c| ipc_transform_to_smithay(c.transform)) .unwrap_or(Transform::Normal); // FIXME: fix winit damage on other transforms. if name == "winit" { @@ -1543,7 +1543,9 @@ 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 mut transform = c.map(|c| c.transform.into()).unwrap_or(Transform::Normal); + let mut transform = c + .map(|c| ipc_transform_to_smithay(c.transform)) + .unwrap_or(Transform::Normal); // FIXME: fix winit damage on other transforms. if name == "winit" { transform = Transform::Flipped180; diff --git a/src/utils/mod.rs b/src/utils/mod.rs index aef9a8aa..781eec65 100644 --- a/src/utils/mod.rs +++ b/src/utils/mod.rs @@ -74,6 +74,19 @@ pub fn logical_output(output: &Output) -> niri_ipc::LogicalOutput { } } +pub fn ipc_transform_to_smithay(transform: niri_ipc::Transform) -> Transform { + match transform { + niri_ipc::Transform::Normal => Transform::Normal, + niri_ipc::Transform::_90 => Transform::_90, + niri_ipc::Transform::_180 => Transform::_180, + niri_ipc::Transform::_270 => Transform::_270, + niri_ipc::Transform::Flipped => Transform::Flipped, + niri_ipc::Transform::Flipped90 => Transform::Flipped90, + niri_ipc::Transform::Flipped180 => Transform::Flipped180, + niri_ipc::Transform::Flipped270 => Transform::Flipped270, + } +} + pub fn expand_home(path: &Path) -> anyhow::Result> { if let Ok(rest) = path.strip_prefix("~") { let dirs = UserDirs::new().context("error retrieving home directory")?; -- cgit