use crate::platform::OpenUrl; use crate::prelude::HasDesktopUiState; impl OpenUrl for T { fn open_url(&mut self, url: &str) { let (program, first): (&str, &[&str]) = if cfg!(target_os = "macos") { ("open", &[]) } else if cfg!(target_os = "windows") { ("cmd", &["/C", "start", ""]) } else { ("xdg-open", &[]) }; match std::process::Command::new(program) .args(first) .arg(url) .spawn() { Ok(_) => {} Err(e) => log::warn!("could not open {url} with {program}: {e}"), } } }