NAME

Tk::TextANSIColor - Tk::Text widget with support for ANSI color escape codes

SYNOPSIS

use Tk::TextANSIColor;

$wid = $mw->TextANSIColor(?options,...?);

$wid->insert($pos, $string, ?taglist, ?string, ?taglist);

use Term::ANSIColor; 
$red = color('red');  # Retrieve color codes
$bold = color('bold');
$wid->insert('end', "$red red text $bold with bold\n");

DESCRIPTION

This widget extends the capabilities of the standard Tk::Text widget by adding support for ANSI color escape codes. When these escape codes are detected they are replaced by equivalent tags.

This widget was developed to solve the problem associated with driving a scrolling status display on a GUI as well as a status display going to an Xterm without having to know whether an xterm or Tk window is receiving the status information. Mainly used in conjunction with a tied filehandle:

$text = $MW->TextANSIColor->pack;
tie *TEXT, "Tk::TextANSIColor", $text;

$info = colored("Some information\n", 'red');

# Print information to all filehandles
print TEXT $info
print STDOUT $info

Currently the Term::ANSIColor module is required in order to decode the escape codes (and probably to generate them in the first place).

TAGS

This widget uses the following tags internally:

ANSIbd - bold
ANSIul - underline
ANSIfgCOL - foreground color
ANSIbgCOL - background color

where COL can be one of black, red, green, yellow, blue, magenta, cyan or white.

If required, the tags can be altered after the widget is created by using the tagConfigure() method. e.g.:

$widget->tagConfigure('ANSIfgred', -foreground => 'blue');

in order to make 'red' appear 'blue'.

REQUIREMENTS

This modules requires the Term::ANSIColor module. The Tk module is also required.

SEE ALSO

Tk::Text, Term::ANSIColor

AUTHOR

Tim Jenness (<t.jenness@jach.hawaii.edu>)

COPYRIGHT

Copyright (c) 1999-2000 Tim Jenness. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.