Term::App::Role::Attrs - Role for terminal-related attributes
This document describes version 0.030 of Term::App::Role::Attrs (from Perl distribution Term-App-Roles), released on 2019-07-30.
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.
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.
UTF8
Default is 0 for Windows.
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
use_color
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.
Call Term::Detect::Software's detect_terminal_cached.
detect_terminal_cached
UTF8 => BOOL
Can be used to set use_utf8.
use_utf8
INTERACTIVE => BOOL
Can be used to set interactive.
interactive
NO_COLOR
Can be used to disable color. Takes precedence over COLOR.
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 set color_depth (if COLOR_DEPTH is not defined).
COLOR_DEPTH
COLOR_DEPTH => INT (or STR)
Can be used to set color_depth. Can also be used to enable/disable use_color.
BOX_CHARS => BOOL
Can be used to set use_box_chars.
use_box_chars
COLUMNS => INT
Can be used to set term_width.
term_width
LINES => INT
Can be used to set term_height.
term_height
Please visit the project's homepage at https://metacpan.org/release/Term-App-Roles.
Source repository is at https://github.com/perlancar/perl-Term-App-Roles.
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.
perlancar <perlancar@cpan.org>
This software is copyright (c) 2019, 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.
To install Term::App::Roles, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Term::App::Roles
CPAN shell
perl -MCPAN -e shell install Term::App::Roles
For more information on module installation, please visit the detailed CPAN module installation guide.