App-XTermUtils

 view release on metacpan or  search on metacpan

script/get-term-fgcolor  view on Meta::CPAN


use 5.010001;
use strict;
use warnings;

use Perinci::CmdLine::Any;

my $cmdline = Perinci::CmdLine::Any->new(
    url => "/XTerm/Util/get_term_fgcolor",
    program_name => "get-term-fgcolor",
    read_config => 0,
    read_env => 0,
);

$cmdline->run;

# ABSTRACT: Get terminal text (foreground) color
# PODNAME: get-term-fgcolor

__END__

=pod

=encoding UTF-8

=head1 NAME

get-term-fgcolor - Get terminal text (foreground) color

=head1 VERSION

This document describes version 0.007 of get-term-fgcolor (from Perl distribution App-XTermUtils), released on 2021-05-26.

=head1 SYNOPSIS

Usage:

 % get-term-fgcolor [--format=name] [--json] [--(no)naked-res]
     [--no-query-terminal] [--no-read-colorfgbg] [--noquery-terminal]
     [--noread-colorfgbg] [--page-result[=program]] [--query-terminal]
     [--read-colorfgbg] [--view-result[=program]]

=head1 DESCRIPTION

Get the terminal's current text (foreground) color (in 6-hexdigit format e.g.
000000 or ffff33), or undef if unavailable. This routine tries the following
mechanisms, from most useful to least useful, in order. Each mechanism can be
turned off via argument.

I<query_terminal>. Querying the terminal is done via sending the following xterm
 control sequence:

 \e]10;?\a

(or \e]10;?\017). A compatible terminal will issue back the same sequence but
with the question mark replaced by the RGB code, e.g.:

 \e]10;rgb:0000/0000/0000\a

I<read_colorfgbg>. Some terminals like Konsole set the environment variable
C<COLORFGBG> containing 16-color color code for foreground and background, e.g.:
C<15;0>.

=head1 OPTIONS

C<*> marks required options.

=head2 Main options

=over

=item B<--no-query-terminal>

=item B<--no-read-colorfgbg>

=back

=head2 Output options

=over

=item B<--format>=I<s>

Choose output format, e.g. json, text.

Default value:

 undef

=item B<--json>

Set output format to json.

=item B<--naked-res>

When outputing as JSON, strip result envelope.

Default value:

 0

By default, when outputing as JSON, the full enveloped result is returned, e.g.:

    [200,"OK",[1,2,3],{"func.extra"=>4}]

The reason is so you can get the status (1st element), status message (2nd
element) as well as result metadata/extra result (4th element) instead of just
the result (3rd element). However, sometimes you want just the result, e.g. when
you want to pipe the result for more post-processing. In this case you can use
`--naked-res` so you just get:

    [1,2,3]


=item B<--page-result>

Filter output through a pager.

=item B<--view-result>

View output using a viewer.



( run in 2.677 seconds using v1.01-cache-2.11-cpan-f56aa216473 )