NAME
    Term::App::Util::Color - Determine color depth and whether to use color
    or not

VERSION
    This document describes version 0.003 of Term::App::Util::Color (from
    Perl distribution Term-App-Util-Color), released on 2021-03-14.

DESCRIPTION
FUNCTIONS
  term_app_color_depth
    Usage:

     term_app_color_depth() -> [status, msg, payload, meta]

    Try to determine the suitable color depth to use.

    Will first check COLORTERM environment variable to see if its value is
    "truecolor"; if yes then depth is 2**24 (24 bit).

    Then will check COLOR_DEPTH environment variable and use that if
    defined.

    Otherwise will check COLOR environment variable and use that as color
    depth if defined and the value looks like color depth (e.g. 256 or
    "24bit").

    Otherwise will try to detect terminal emulation software and use the
    highest supported color depth of that terminal software.

    Otherwise will default to 16.

    This function is not exported.

    No arguments.

    Returns an enveloped result (an array).

    First element (status) is an integer containing HTTP status code (200
    means OK, 4xx caller error, 5xx function error). Second element (msg) is
    a string containing error message, or 'OK' if status is 200. Third
    element (payload) is optional, the actual result. Fourth element (meta)
    is called result metadata and is optional, a hash that contains extra
    information.

    Return value: (any)

  term_app_should_use_color
    Usage:

     term_app_should_use_color() -> [status, msg, payload, meta]

    Try to determine whether colors should be used. First will check
    NO_COLOR environment variable and return false if it exists. Otherwise
    will check the COLOR environment variable and use it if it's defined.
    Otherwise will check the COLOR_DEPTH environment variable and if defined
    will use color when color depth is > 0. Otherwise will check if script
    is running interactively and when it is then will use color. Otherwise
    will not use color.

    This function is not exported.

    No arguments.

    Returns an enveloped result (an array).

    First element (status) is an integer containing HTTP status code (200
    means OK, 4xx caller error, 5xx function error). Second element (msg) is
    a string containing error message, or 'OK' if status is 200. Third
    element (payload) is optional, the actual result. Fourth element (meta)
    is called result metadata and is optional, a hash that contains extra
    information.

    Return value: (any)

ENVIRONMENT
  COLOR
  COLOR_DEPTH
  COLORTERM
  NO_COLOR
HOMEPAGE
    Please visit the project's homepage at
    <https://metacpan.org/release/Term-App-Util-Color>.

SOURCE
    Source repository is at
    <https://github.com/perlancar/perl-Term-App-Util-Color>.

BUGS
    Please report any bugs or feature requests on the bugtracker website
    <https://github.com/perlancar/perl-Term-App-Util-Color/issues>

    When submitting a bug or request, please include a test-file or a patch
    to an existing test-file that illustrates the bug or desired feature.

SEE ALSO
    Other "Term::App::Util::*" modules.

    Term::Detect::Software

AUTHOR
    perlancar <perlancar@cpan.org>

COPYRIGHT AND LICENSE
    This software is copyright (c) 2021 by perlancar@cpan.org.

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