//! DarkRoom desktop entry point. //! //! darkroom-desktop ... use std::path::PathBuf; fn main() -> anyhow::Result<()> { env_logger::Builder::from_env(env_logger::Env::default().default_filter_or( "info,wgpu_core=warn,wgpu_hal=warn,zbus=warn,tracing=warn,calloop=warn,rawler=warn", )) .init(); log::info!("DarkRoom v{}", env!("CARGO_PKG_VERSION")); let paths: Vec = std::env::args().skip(1).map(PathBuf::from).collect(); if paths.is_empty() { eprintln!("usage: darkroom-desktop ..."); } dr_ui::run(paths)?; // Skip Rust's normal static/thread-local teardown on the way out: a // background zbus/keyring connection opened by dr_ui::launch_ui can // still be alive here, and unwinding through it races its async-io // reactor thread, panicking with "thread local ... during or after // destruction" when the window is closed. std::process::exit(0); }