Files
iris/src/desktop/platform.rs
T
2026-09-11 00:55:33 -04:00

23 lines
654 B
Rust

use crate::platform::OpenUrl;
use crate::prelude::HasDesktopUiState;
impl<T: HasDesktopUiState> 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}"),
}
}
}