From de56c99e3628d20a5b2efd1c9ebc6793cde7f4ad Mon Sep 17 00:00:00 2001 From: Aleksander Date: Tue, 6 May 2025 16:06:12 +0200 Subject: [PATCH] WayVR: Use `wayvr-dashboard` as the default executable if it's not set --- src/config_wayvr.rs | 2 +- src/overlays/wayvr.rs | 13 ++++++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/config_wayvr.rs b/src/config_wayvr.rs index 8af987d..d8e44fe 100644 --- a/src/config_wayvr.rs +++ b/src/config_wayvr.rs @@ -117,7 +117,7 @@ fn def_blit_method() -> String { String::from("dmabuf") } -#[derive(Deserialize, Serialize)] +#[derive(Clone, Deserialize, Serialize)] pub struct WayVRDashboard { pub exec: String, pub args: Option, diff --git a/src/overlays/wayvr.rs b/src/overlays/wayvr.rs index 2604126..67e615e 100644 --- a/src/overlays/wayvr.rs +++ b/src/overlays/wayvr.rs @@ -270,11 +270,14 @@ fn toggle_dashboard( where O: Default, { - let conf_dash = &app.session.wayvr_config.dashboard; - - let Some(conf_dash) = &conf_dash else { - anyhow::bail!("Dashboard is not configured"); - }; + let conf_dash = app.session.wayvr_config.dashboard.clone().map_or_else( + || config_wayvr::WayVRDashboard { + exec: String::from("wayvr-dashboard"), + args: None, + env: None, + }, + |conf| conf, + ); if !wayvr.dashboard_executed && !executable_exists_in_path(&conf_dash.exec) { anyhow::bail!("Executable \"{}\" not found", &conf_dash.exec);