8 releases
0.1.7 | Aug 11, 2023 |
---|---|
0.1.6 | Aug 6, 2023 |
0.1.1 | Jul 28, 2023 |
#10 in #detector
19KB
425 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
~0.3–0.8MB
~18K SLoC