Suppress console-window flash on subprocess spawn (CREATE_NO_WINDOW); bump 0.1.2
paths::quiet_command sets CREATE_NO_WINDOW (0x08000000) on Windows so short-lived child processes (wsl.exe -l -q, where claude, wsl.exe -d X bash -lc 'command -v claude') don't briefly allocate a real console window and flash on click. Used by both paths.rs and cli_usage.rs.
This commit is contained in:
parent
6dd8200802
commit
160e08d4a8
5 changed files with 24 additions and 10 deletions
|
|
@ -114,9 +114,8 @@ pub fn autodetect_command() -> Option<Vec<String>> {
|
|||
}
|
||||
|
||||
fn which_exists(name: &str) -> bool {
|
||||
use std::process::Command;
|
||||
let probe = if cfg!(windows) { "where" } else { "which" };
|
||||
Command::new(probe)
|
||||
crate::paths::quiet_command(probe)
|
||||
.arg(name)
|
||||
.output()
|
||||
.map(|o| o.status.success() && !o.stdout.is_empty())
|
||||
|
|
@ -124,8 +123,7 @@ fn which_exists(name: &str) -> bool {
|
|||
}
|
||||
|
||||
fn list_wsl_distros() -> Vec<String> {
|
||||
use std::process::Command;
|
||||
let Ok(out) = Command::new("wsl.exe").args(["-l", "-q"]).output() else {
|
||||
let Ok(out) = crate::paths::quiet_command("wsl.exe").args(["-l", "-q"]).output() else {
|
||||
return Vec::new();
|
||||
};
|
||||
if !out.status.success() {
|
||||
|
|
@ -145,8 +143,7 @@ fn list_wsl_distros() -> Vec<String> {
|
|||
}
|
||||
|
||||
fn probe_claude_in_wsl(distro: &str) -> bool {
|
||||
use std::process::Command;
|
||||
Command::new("wsl.exe")
|
||||
crate::paths::quiet_command("wsl.exe")
|
||||
.args(["-d", distro, "bash", "-lc", "command -v claude"])
|
||||
.output()
|
||||
.map(|o| o.status.success() && !o.stdout.is_empty())
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue