From 2988ae3c2813319c1721653ba98519930474bea8 Mon Sep 17 00:00:00 2001 From: Nova Date: Fri, 28 Jun 2024 21:00:07 -0400 Subject: [PATCH] refactor(main): pass args into stereokit loop --- src/main.rs | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/src/main.rs b/src/main.rs index 4c74c42..3bf40ce 100644 --- a/src/main.rs +++ b/src/main.rs @@ -37,7 +37,7 @@ use tracing::{debug_span, error, info}; use tracing_subscriber::{fmt, prelude::*, EnvFilter}; use zbus::Connection; -#[derive(Parser)] +#[derive(Debug, Clone, Parser)] #[clap(author, version, about, long_about = None)] struct CliArgs { /// Force flatscreen mode and use the mouse pointer as a 3D pointer @@ -81,7 +81,7 @@ async fn main() { .with_filter(EnvFilter::from_default_env()); registry.with(log_layer).init(); - let cli_args = Arc::new(CliArgs::parse()); + let cli_args = CliArgs::parse(); let socket_path = server::get_free_socket_path().expect("Unable to find a free stardust socket path"); @@ -128,15 +128,13 @@ async fn main() { let stereokit_loop = tokio::task::spawn_blocking({ let sk_ready_notifier = sk_ready_notifier.clone(); let project_dirs = project_dirs.clone(); - let flatscreen = cli_args.flatscreen; - let overlay_priority = cli_args.overlay_priority; + let cli_args = cli_args.clone(); let dbus_connection = dbus_connection.clone(); move || { stereokit_loop( sk_ready_notifier, project_dirs, - flatscreen, - overlay_priority, + cli_args, dbus_connection, hmd, play_space, @@ -167,15 +165,14 @@ async fn main() { fn stereokit_loop( sk_ready_notifier: Arc, project_dirs: Option, - intentional_flatscreen: bool, - overlay_priority: Option, + args: CliArgs, dbus_connection: Arc, hmd: Arc, play_space: Arc, ) { let sk = SkSettings::default() .app_name("Stardust XR") - .mode(if intentional_flatscreen { + .mode(if args.flatscreen { AppMode::Simulator } else { AppMode::XR @@ -191,8 +188,8 @@ fn stereokit_loop( Some(LevelFilter::OFF) => LogLevel::None, None => LogLevel::Warning, }) - .overlay_app(overlay_priority.is_some()) - .overlay_priority(overlay_priority.unwrap_or(u32::MAX)) + .overlay_app(args.overlay_priority.is_some()) + .overlay_priority(args.overlay_priority.unwrap_or(u32::MAX)) .disable_desktop_input_window(true) .render_scaling(2.0) .init()