# term-detect Terminal emulator detector ## Implementation details It works using 3 methods. 1. `TERMINAL` environment variable The terminal is detected by reading the `TERMINAL` environment variable. 1. DE (desktop environment) specific checks The terminal is detected by checking DE-specific config files. 1. `$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. ```rust 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(()) } ```