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
      m@japh.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.

