From b22af570005b2d3ecb9ec60779f6340069a3db32 Mon Sep 17 00:00:00 2001 From: Aleksander Date: Mon, 20 Jan 2025 23:22:48 +0100 Subject: [PATCH] WayVR: Add config default values (Fixes #142) --- src/config_wayvr.rs | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/config_wayvr.rs b/src/config_wayvr.rs index 1a7f508..e3b9ec4 100644 --- a/src/config_wayvr.rs +++ b/src/config_wayvr.rs @@ -92,6 +92,10 @@ impl WayVRCatalog { } } +fn def_false() -> bool { + true +} + fn def_true() -> bool { true } @@ -108,6 +112,10 @@ fn def_keyboard_repeat_rate() -> u32 { 50 } +fn def_version() -> u32 { + 1 +} + #[derive(Deserialize, Serialize)] pub struct WayVRDashboard { pub exec: String, @@ -117,10 +125,18 @@ pub struct WayVRDashboard { #[derive(Deserialize, Serialize)] pub struct WayVRConfig { + #[serde(default = "def_version")] pub version: u32, + #[serde(default = "def_false")] pub run_compositor_at_start: bool, + + #[serde(default = "Default::default")] pub catalogs: HashMap, + + #[serde(default = "Default::default")] pub displays: BTreeMap, // sorted alphabetically + + #[serde(default = "Default::default")] pub dashboard: Option, #[serde(default = "def_true")] @@ -222,7 +238,7 @@ pub fn load_wayvr() -> WayVRConfig { let config = load_config_with_conf_d::("wayvr.yaml", config_io::ConfigRoot::WayVR); - if config.version != 1 { + if config.version != def_version() { panic!("WayVR config version {} is not supported", config.version); } config