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
magnus@trapd00r.se
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.