NAME
    Term::Detect - Detect running under terminal (and get terminal
    information)

VERSION
    version 0.08

SYNOPSIS
     use Term::Detect qw(detect_terminal);
     say "Running under terminal" if detect_terminal();

DESCRIPTION
FUNCTIONS
  detect_terminal([$flag]) => ANY
    Return undef if not detected running under terminal. Otherwise return a
    hash of information about terminal (emulator software, color depth).
    Some information are only returned if requested via $flag, for
    performance reason.

    $flag is a string and can contain one or more characters to
    enable/request extra information. Currently known flags:

    *   p (for parent processes)

    Result:

    *   emulator_engine => STR

    *   emulator_software => STR

        Currently Konsole and xterm can be detected through environment
        because they publish some environment variables.

        If $flag contains "p", will execute "pstree" to try to find out
        emulator software from parent process.

    *   color_depth => INT

        Either 0 (does not support ANSI color codes), 16, 256, or 16777216
        (2**24).

    *   default_bgcolor => STR (6-hexdigit RGB)

        For example, any xterm is assumed to have white background (ffffff)
        by default, while Konsole is assumed to have black (000000).

    *   unicode => BOOL

        Whether terminal supports Unicode/wide characters.

  detect_terminal_cached([$flag]) => ANY
    Just like "detect_terminal()" but will cache the result. Can be used by
    applications or modules to avoid repeating detection process.

TODO
    Better detection of terminal emulator's background color by peeking into
    its configuration.

SEE ALSO
AUTHOR
    Steven Haryanto <stevenharyanto@gmail.com>

COPYRIGHT AND LICENSE
    This software is copyright (c) 2013 by Steven Haryanto.

    This is free software; you can redistribute it and/or modify it under
    the same terms as the Perl 5 programming language system itself.

