macos better alert

Signed-off-by: fufesou <shuanglongchen@yeah.net>
This commit is contained in:
fufesou 2023-02-19 21:11:17 +08:00
parent 30c795dc4f
commit e1254c0b24
2 changed files with 23 additions and 13 deletions

View File

@ -6,14 +6,15 @@ use hbb_common::platform::macos;
fn main() { fn main() {
#[cfg(target_os = "linux")] #[cfg(target_os = "linux")]
linux::system_message("test title", "test message", true).ok(); let res = linux::system_message("test title", "test message", true);
#[cfg(target_os = "macos")] #[cfg(target_os = "macos")]
macos::alert( let res = macos::alert(
"RustDesk".to_owned(), "System Preferences".to_owned(),
"warning".to_owned(), "warning".to_owned(),
"test title".to_owned(), "test title".to_owned(),
"test message".to_owned(), "test message".to_owned(),
["Ok".to_owned()].to_vec(), ["Ok".to_owned()].to_vec(),
) );
.ok(); #[cfg(any(target_os = "linux", target_os = "macos"))]
println!("result {:?}", &res);
} }

View File

@ -41,14 +41,23 @@ extern "C" fn breakdown_signal_handler(sig: i32) {
) )
.ok(); .ok();
#[cfg(target_os = "macos")] #[cfg(target_os = "macos")]
macos::alert( {
"RustDesk".to_owned(), use std::sync::mpsc::channel;
"critical".to_owned(), use std::time::Duration;
"Crashed".to_owned(), let (tx, rx) = channel();
format!("Got signal {} and exit.{}", sig, info), std::thread::spawn(move || {
["Ok".to_owned()].to_vec(), macos::alert(
) "System Preferences".to_owned(),
.ok(); "critical".to_owned(),
"RustDesk Crashed".to_owned(),
format!("Got signal {} and exit.{}", sig, info),
["Ok".to_owned()].to_vec(),
)
.ok();
let _ = tx.send(());
});
let _ = rx.recv_timeout(Duration::from_millis(1_000));
}
} }
exit(0); exit(0);
} }