diff --git a/cosmic-comp-config/src/lib.rs b/cosmic-comp-config/src/lib.rs index 9b531036..7dc29cc2 100644 --- a/cosmic-comp-config/src/lib.rs +++ b/cosmic-comp-config/src/lib.rs @@ -11,6 +11,30 @@ pub mod input; pub mod output; pub mod workspace; +#[derive(Debug, Deserialize, Serialize, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)] +pub struct EdidProduct { + pub manufacturer: [char; 3], + pub product: u16, + pub serial: Option, + pub manufacture_week: i32, + pub manufacture_year: i32, + pub model_year: Option, +} + +#[cfg(feature = "libdisplay-info")] +impl From for EdidProduct { + fn from(vp: libdisplay_info::edid::VendorProduct) -> Self { + Self { + manufacturer: vp.manufacturer, + product: vp.product, + serial: vp.serial, + manufacture_week: vp.manufacture_week, + manufacture_year: vp.manufacture_year, + model_year: vp.model_year, + } + } +} + #[derive(Clone, Debug, Default, PartialEq, Serialize, Deserialize)] pub struct KeyboardConfig { /// Boot state for numlock diff --git a/cosmic-comp-config/src/output/comp.rs b/cosmic-comp-config/src/output/comp.rs index 890ccdba..19a0c24e 100644 --- a/cosmic-comp-config/src/output/comp.rs +++ b/cosmic-comp-config/src/output/comp.rs @@ -4,30 +4,6 @@ use serde::{Deserialize, Serialize}; use std::{collections::HashMap, fs::OpenOptions, path::Path}; use tracing::{error, warn}; -#[derive(Debug, Deserialize, Serialize, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)] -pub struct EdidProduct { - pub manufacturer: [char; 3], - pub product: u16, - pub serial: Option, - pub manufacture_week: i32, - pub manufacture_year: i32, - pub model_year: Option, -} - -#[cfg(feature = "libdisplay-info")] -impl From for EdidProduct { - fn from(vp: libdisplay_info::edid::VendorProduct) -> Self { - Self { - manufacturer: vp.manufacturer, - product: vp.product, - serial: vp.serial, - manufacture_week: vp.manufacture_week, - manufacture_year: vp.manufacture_year, - model_year: vp.model_year, - } - } -} - #[derive(Debug, Deserialize, Serialize, Clone, PartialEq)] #[serde(rename_all = "lowercase")] pub enum OutputState { diff --git a/cosmic-comp-config/src/workspace.rs b/cosmic-comp-config/src/workspace.rs index 33134f3c..31caba7a 100644 --- a/cosmic-comp-config/src/workspace.rs +++ b/cosmic-comp-config/src/workspace.rs @@ -2,7 +2,7 @@ use serde::{Deserialize, Serialize}; -use crate::output::comp::EdidProduct; +use crate::EdidProduct; #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] pub struct WorkspaceConfig { diff --git a/src/config/mod.rs b/src/config/mod.rs index 8618c81f..55b9f0ac 100644 --- a/src/config/mod.rs +++ b/src/config/mod.rs @@ -42,7 +42,7 @@ pub mod key_bindings; mod types; use cosmic::config::CosmicTk; -pub use cosmic_comp_config::output::comp::EdidProduct; +pub use cosmic_comp_config::EdidProduct; use cosmic_comp_config::{ input::{DeviceState as InputDeviceState, InputConfig, TouchpadOverride}, output::comp::{