use std::io::Write;
pub fn copy_to_clipboard(text: &str) -> bool {
let (cmd, args): (&str, &[&str]) = if cfg!(target_os = "macos") {
("pbcopy", &[])
} else {
("xclip", &["-selection", "clipboard"])
};
let Ok(mut child) = std::process::Command::new(cmd)
.args(args)
.stdin(std::process::Stdio::piped())
.stdout(std::process::Stdio::null())
.stderr(std::process::Stdio::null())
.spawn()
else {
return false;
};
if let Some(mut stdin) = child.stdin.take() {
let _ = stdin.write_all(text.as_bytes());
}
child.wait().is_ok()
}