9 releases
0.1.8 | Nov 28, 2024 |
---|---|
0.1.7 | Aug 11, 2023 |
0.1.1 | Jul 28, 2023 |
#287 in Command-line interface
127 downloads per month
19KB
427 lines
term-detect
Terminal emulator detector
Implementation details
It works using 3 methods.
TERMINAL
environment variable
The terminal is detected by reading theTERMINAL
environment variable.- DE (desktop environment) specific checks
The terminal is detected by checking DE-specific config files. $PATH
search
The terminal from a list is picked if it's found in$PATH
.
Examples
Run fish in private mode in a terminal window. Don't close the window when the command ends.
use std::process::Command;
use term_detect::{DetectionError, InTerminalAuto};
fn main() -> Result<(), DetectionError> {
let child = Command::new("fish")
.arg("--private")
// Konsole-specific flag
.in_terminal_args(["--noclose"])?
.spawn()?
.wait()?;
Ok(())
}
Dependencies
~325–780KB
~17K SLoC