From fd9becc398d79806d49f93b74d1e518766aa6d26 Mon Sep 17 00:00:00 2001 From: galister <22305755+galister@users.noreply.github.com> Date: Mon, 5 Jan 2026 20:52:19 +0900 Subject: [PATCH] fix wayvrctl --- wayvrctl/src/helper.rs | 4 ++++ wayvrctl/src/main.rs | 24 +++++++++++++++++++++++- 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/wayvrctl/src/helper.rs b/wayvrctl/src/helper.rs index 69e3fb7..d1aeb00 100644 --- a/wayvrctl/src/helper.rs +++ b/wayvrctl/src/helper.rs @@ -105,6 +105,8 @@ pub async fn wvr_process_launch( exec: String, name: String, env: Vec, + resolution: [u32; 2], + icon: Option, args: String, userdata: HashMap, ) { @@ -118,6 +120,8 @@ pub async fn wvr_process_launch( exec, name, args, + resolution, + icon, userdata, }, ) diff --git a/wayvrctl/src/main.rs b/wayvrctl/src/main.rs index 561fd56..b504b85 100644 --- a/wayvrctl/src/main.rs +++ b/wayvrctl/src/main.rs @@ -119,10 +119,29 @@ async fn run_once(state: &mut WayVRClientState, args: Args) -> anyhow::Result<() exec, name, env, + resolution, + icon, args, } => { let env = env.split(",").map(|s| s.to_string()).collect::>(); - wvr_process_launch(state, exec, name, env, args, HashMap::new()).await; + let resolution = resolution + .split_once('x') + .and_then(|(x, y)| Some([x.parse::().ok()?, y.parse::().ok()?])) + .context( + "Invalid resolution format. Expecting x, for example: 1920x1080, 1280x720", + )?; + + wvr_process_launch( + state, + exec, + name, + env, + resolution, + icon, + args, + HashMap::new(), + ) + .await; } Subcommands::Haptics { device, @@ -216,6 +235,9 @@ enum Subcommands { env: String, /// Executable to run exec: String, + #[arg(default_value = "1920x1080")] + resolution: String, + icon: Option, /// Arguments to pass to executable #[arg(default_value = "")] args: String,