9 releases
| 0.1.8 | Nov 28, 2024 |
|---|---|
| 0.1.7 | Aug 11, 2023 |
| 0.1.1 | Jul 28, 2023 |
#349 in Command-line interface
504 downloads per month
19KB
427 lines
term-detect
Terminal emulator detector
Implementation details
It works using 3 methods.
TERMINALenvironment variable
The terminal is detected by reading theTERMINALenvironment variable.- DE (desktop environment) specific checks
The terminal is detected by checking DE-specific config files. $PATHsearch
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
~230–650KB
~14K SLoC