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.
  2. DE (desktop environment) specific checks
    The terminal is detected by checking DE-specific config files.
  3. $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 .interminalargs(["--noclose"])? .spawn()? .wait()?; Ok(()) } ```