diff --git a/kiosk/src/main.rs b/kiosk/src/main.rs index ec17f00..1e4451a 100644 --- a/kiosk/src/main.rs +++ b/kiosk/src/main.rs @@ -13,5 +13,7 @@ fn main() { gstreamer::init().expect("Failed to init GStreamer"); let app = ui::build_app(); - std::process::exit(app.run().into()); + // Pass empty args to GTK — server URL handled via env or argv directly + app.set_flags(gtk4::gio::ApplicationFlags::NON_UNIQUE | gtk4::gio::ApplicationFlags::HANDLES_COMMAND_LINE); + std::process::exit(app.run_with_args::<&str>(&[]).into()); } diff --git a/kiosk/src/ui.rs b/kiosk/src/ui.rs index d99d031..116644f 100644 --- a/kiosk/src/ui.rs +++ b/kiosk/src/ui.rs @@ -38,7 +38,8 @@ fn activate(app: &Application) { let (tx, rx) = mpsc::channel::(); - let server_url = std::env::args().nth(1); + let server_url = std::env::var("BETTERFRAME_SERVER").ok() + .or_else(|| std::env::args().nth(1)); std::thread::spawn(move || { let server = server::discover_server(server_url.as_deref()); info!("server: {server}");