app-list: Use double-fork spawn

This commit is contained in:
Victoria Brekenfeld 2023-11-06 16:52:34 +01:00 committed by Ashley Wulber
parent 99da3eda4a
commit e1d1a09aac
3 changed files with 36 additions and 2 deletions

View file

@ -785,7 +785,7 @@ impl cosmic::Application for CosmicAppList {
WaylandUpdate::ActivationToken { token, exec } => {
let mut exec = shlex::Shlex::new(&exec);
let mut cmd = match exec.next() {
Some(cmd) if !cmd.contains('=') => tokio::process::Command::new(cmd),
Some(cmd) if !cmd.contains('=') => std::process::Command::new(cmd),
_ => return Command::none(),
};
for arg in exec {
@ -798,7 +798,9 @@ impl cosmic::Application for CosmicAppList {
cmd.env("XDG_ACTIVATION_TOKEN", &token);
cmd.env("DESKTOP_STARTUP_ID", &token);
}
let _ = cmd.spawn();
tokio::task::spawn_blocking(|| {
crate::process::spawn(cmd);
});
}
}
}