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 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.