Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/trapd00r/term-extendedcolor-xresources

Query and set various X resources
https://github.com/trapd00r/term-extendedcolor-xresources

colorschemes perl terminal-colors xorg xresources

Last synced: about 1 month ago
JSON representation

Query and set various X resources

Awesome Lists containing this project

README

        

NAME
Term::ExtendedColor::Xresources - Query and set various Xresources

SYNOPSIS
use Term::ExtendedColor::Xresources qw(
get_xterm_color
set_xterm_color
set_foreground_color
set_background_color
);

# make color index 220 represent red instead of yellow
set_xterm_color({ 220 => 'ff0000'});

# get RGB values for all defined colors
my $colors = get_xterm_color({
index => [0 .. 255], # default
type => 'hex', # default is base 10
});

# change the background color to red...
set_background_color('ff0000');

# .. and the foreground color to yellow
set_foreground_color('ffff00');

DESCRIPTION
Term::ExtendedColor::Xresources provides functions for changing and
querying the underlying X terminal emulator for various X resources.

EXPORTS
None by default.

FUNCTIONS
set_xterm_color()
# Switch yellow and red
my $new_colors = set_xterm_color({
220 => 'ff0000',
196 => 'ffff00',
});

print $_ for values %{$new_colors};

# or just...

set_xterm_color({ 100 => ff0066});

Expects a hash reference where the keys are color indexes (0 .. 255) and
the values hexadecimal representations of the color values.

Changes the colors if called in void context. Else, returns a hash with
the indexes as keys and the appropriate escape sequences as values.

get_xterm_color()
my $defined_colors = get_xterm_color({ index => [0 .. 255], type => 'dec' });

print $defined_colors->{4}->{red}, "\n";
print $defined_colors->{8}->{rgb}, "\n";

0 - 15 is the standard *ANSI* colors, all above them are extended
colors.

Returns a hash reference with the index colors as keys. By default the
color values are in decimal.

The color values can be accessed by using their name:

my $red = $colors->{10}->{red};

Or by using the short notation:

my $red = $colors->{10}->{r};

The full color string can be retrieved like so:

my $rgb = $colors->{10}->{rgb};

The "raw" element is the full, raw response from the terminal, including
escape sequences.

The following arguments are supported:

index => $index | \@indexes
Arrayref of color indexes to look up and return. Defaults to
[0..255], i.e. all indexes. Alternately a single index may be
passed.

type => 'dec' | 'hex'
May be 'dec' or 'hex'. The default is 'dec' (decimal) which returns
color values as integers between 0 and 255, and returns a 'rgb'
string of the form '$r/$g/$b' e.g. '255/0/0'. If 'hex' is passed,
returns color values in base 16, zero-padded to two characters
(between 00 and ff) and a 'rgb' string of the form '$r$g$b' e.g.
'ff0000'

get_xterm_colors()
The same thing as get_xterm_color(). Will be deprecated.

set_foreground_color()
set_foreground_color('ff0000');

my $fg = set_foreground_color('c0ffee');

Sets the foreground color if called in void context. Else, the
appropriate escape sequence is returned.

set_background_color()
set_background_color('121212');

my $bg = set_foreground_color('000000');

Sets the foreground color if called in void context. Else, the
appropriate escape sequence is returned.

SEE ALSO
Term::ExtendedColor

AUTHOR
Magnus Woldrich
CPAN ID: WOLDRICH
[email protected]
http://japh.se

CONTRIBUTORS
None required yet.

COPYRIGHT
Copyright 2010, 2011 the Term::ExtendedColor::Xresources "AUTHOR" and
"CONTRIBUTORS" as listed above.

LICENSE
This library is free software; you may redistribute it and/or modify it
under the same terms as Perl itself.