diff --git a/src/main.rs b/src/main.rs index 78dde37..268ad20 100644 --- a/src/main.rs +++ b/src/main.rs @@ -6,8 +6,7 @@ use protostar::ProtoStar; use stardust_xr_molecules::fusion::client::Client; use std::{ env::{args, current_dir}, - path::{Path, PathBuf}, - str::FromStr, + path::Path, }; #[tokio::main(flavor = "current_thread")] diff --git a/src/protostar.rs b/src/protostar.rs index 682a251..71d9138 100644 --- a/src/protostar.rs +++ b/src/protostar.rs @@ -13,7 +13,7 @@ use stardust_xr_molecules::{ }, GrabData, Grabbable, }; -use std::{ffi::CString, path::PathBuf, sync::Arc}; +use std::{env::args, ffi::CString, path::PathBuf, sync::Arc}; use tween::{QuartInOut, Tweener}; use ustr::ustr; @@ -91,7 +91,12 @@ impl LifeCycleHandler for ProtoStar { std::env::set_var("STARDUST_STARTUP_TOKEN", future.await.unwrap()); if unsafe { fork() }.unwrap().is_parent() { let executable = ustr(executable.to_str().unwrap()); - execv::(executable.as_cstr(), &[]).unwrap(); + let args = args() + .skip(1) + .map(|arg| CString::new(arg)) + .collect::, _>>() + .unwrap(); + execv::(executable.as_cstr(), args.as_slice()).unwrap(); } }); }