use serde::{Deserialize, Serialize}; use toml::Table; use crate::display::Display; #[derive(Serialize, Deserialize)] pub struct BarbarConfig { #[serde(default)] pub display: Display, pub ups: Option, // Updates per second pub order: ModuleOrder, pub modules: Option, // 'clock': [clock settings] pub services: Option
, // 'clockticker': [clockticker settings] } #[derive(serde::Deserialize, Serialize, Clone, Copy, Debug)] #[serde(rename_all = "lowercase")] pub enum Modules { Audio, Battery, Clock, Weather, Workspaces, } impl Modules { pub fn to_string(&self) -> &str { match self { Modules::Audio => "audio", Modules::Battery => "battery", Modules::Clock => "clock", Modules::Weather => "weather", Modules::Workspaces => "workspaces", } } } #[derive(Deserialize, Serialize, Clone)] pub struct ModuleOrder { pub left: Vec, pub middle: Vec, pub right: Vec, }