NAME
Term::App::Role::Attrs - Role for terminal-related attributes
VERSION
This document describes version 0.031 of Term::App::Role::Attrs (from Perl distribution Term-App-Roles), released on 2020-06-08.
DESCRIPTION
This role gives several options to turn on/off terminal-oriented features like whether to use UTF8 characters, whether to use colors, and color depth. Defaults are set from environment variables or by detecting terminal software/capabilities.
ATTRIBUTES
use_utf8 => BOOL (default: from env, or detected from terminal)
The default is retrieved from environment: if UTF8
is set, it is used. Otherwise, the default is on if terminal emulator software supports Unicode and language (LANG/LANGUAGE) setting has /utf-?8/i in it.
use_box_chars => BOOL (default: from env, or detected from OS)
Default is 0 for Windows.
interactive => BOOL (default: from env, or detected from terminal)
use_color => BOOL (default: from env, or detected from terminal)
For convenience, this attribute is "linked" with color_depth
. Setting use_color
will also set color_depth
when the value is not ''/1/0 and matches color depth pattern. For example, setting use_color
to 256 or '8bit' will also set color_depth
to 256.
color_depth => INT (or STR, default: from env, or detected from terminal)
Get/set color depth. When setting, you can use string like '8 bit' or '24b' and it will be converted to 256 (2**8) or 16777216 (2**24).
For convenience, this attribute is "linked" with use_color
. Setting color_depth
to non-zero value will enable use_color
, while setting it to 0 will disable use_color
.
term_width => INT (default: from env, or detected from terminal)
term_height => INT (default: from env, or detected from terminal)
METHODS
detect_terminal() => HASH
Call Term::Detect::Software's detect_terminal_cached
.
ENVIRONMENT
UTF8 => BOOL
Can be used to set
use_utf8
.INTERACTIVE => BOOL
Can be used to set
interactive
.NO_COLOR
Can be used to disable color. Takes precedence over
COLOR
.For more information, see https://no-color.org.
COLOR => BOOL (or INT or STR)
Can be used to set
use_color
. Can also be used to setcolor_depth
(ifCOLOR_DEPTH
is not defined).COLOR_DEPTH => INT (or STR)
Can be used to set
color_depth
. Can also be used to enable/disableuse_color
.BOX_CHARS => BOOL
Can be used to set
use_box_chars
.COLUMNS => INT
Can be used to set
term_width
.LINES => INT
Can be used to set
term_height
.
HOMEPAGE
Please visit the project's homepage at https://metacpan.org/release/Term-App-Roles.
SOURCE
Source repository is at https://github.com/perlancar/perl-Term-App-Roles.
BUGS
Please report any bugs or feature requests on the bugtracker website https://rt.cpan.org/Public/Dist/Display.html?Name=Term-App-Roles
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.
AUTHOR
perlancar <perlancar@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2020, 2018, 2014 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.