textansicolor(3)

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);
$string_with_escape_codes = $wid->getansi('0.0','end');
use Term::ANSIColor;
$red = color('red');  # Retrieve color codes
$bold = color('bold');
$wid->insert('end', "$red red text $bold with bold0);

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 file
handle:
$text = $MW->TextANSIColor->pack;
tie *TEXT, "Tk::TextANSIColor", $text;
$info = colored("Some information0, '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).

METHODS

The following methods are available in addition to those
described in the documentation for Tk::Text:

getansi
$widget->getansi(index1, ?index2?)
Similar to the standard "get" method for "Tk::Text"
widgets, except it returns a range of characters from
the text with the ANSI escape-codes embedded. This
allows one to insert a string containing ANSI escapecodes into the widget, manipulate them, and fetch them
back from the widget with the escape codes intact.
The return value will be all the characters in the
text starting with the one whose index is "index1" and
ending just before the one whose index is "index2"
(the character at "index2" will not be returned). If
"index2" is omitted then the single character at
"index1" is returned. If there are no characters in
the specified range (e.g. "index1" is past the end of
the file or "index2" is less than or equal to index1)
then an empty string is returned. If the specified
range contains embedded windows, no information about
them is included in the returned string. Use the
standard "get" method to fetch the string without ANSI
escape-codes.

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.
Copyright © 2010-2025 Platon Technologies, s.r.o.           Index | Man stránky | tLDP | Dokumenty | Utilitky | O projekte
Design by styleshout