From cf87a185a90aeacf7c15d27ddba23bc493d9c2dd Mon Sep 17 00:00:00 2001 From: Ivan Molodetskikh Date: Wed, 27 Mar 2024 14:54:24 +0400 Subject: Add logical output info and preferred modes to IPC --- src/backend/tty.rs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'src/backend/tty.rs') diff --git a/src/backend/tty.rs b/src/backend/tty.rs index a90182a3..783db022 100644 --- a/src/backend/tty.rs +++ b/src/backend/tty.rs @@ -60,7 +60,7 @@ use crate::frame_clock::FrameClock; use crate::niri::{Niri, RedrawState, State}; use crate::render_helpers::renderer::AsGlesRenderer; use crate::render_helpers::{shaders, RenderTarget}; -use crate::utils::get_monotonic_time; +use crate::utils::{get_monotonic_time, logical_output}; const SUPPORTED_COLOR_FORMATS: &[Fourcc] = &[Fourcc::Argb8888, Fourcc::Abgr8888]; @@ -1370,6 +1370,7 @@ impl Tty { width: m.size().0, height: m.size().1, refresh_rate: Mode::from(*m).refresh as u32, + is_preferred: m.mode_type().contains(ModeTypeFlags::PREFERRED), } }) .collect(); @@ -1384,14 +1385,14 @@ impl Tty { } } - let output = niri + let logical = niri .global_space .outputs() .find(|output| { let tty_state: &TtyOutputState = output.user_data().get().unwrap(); tty_state.node == *node && tty_state.crtc == crtc }) - .cloned(); + .map(logical_output); let ipc_output = niri_ipc::Output { name: connector_name.clone(), @@ -1400,9 +1401,10 @@ impl Tty { physical_size, modes, current_mode, + logical, }; - ipc_outputs.insert(connector_name, (ipc_output, output)); + ipc_outputs.insert(connector_name, ipc_output); } } -- cgit