From a5c45c2f569d05a7107e48fa095723c7e62bbc47 Mon Sep 17 00:00:00 2001 From: Ralf Ertzinger Date: Tue, 30 Apr 2013 19:22:39 +0200 Subject: [PATCH] videosite-irssi: Implement basic color handling --- videosite-irssi.pl | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/videosite-irssi.pl b/videosite-irssi.pl index 3ab54ec..3d72728 100644 --- a/videosite-irssi.pl +++ b/videosite-irssi.pl @@ -11,6 +11,21 @@ use XML::Simple; use JSON -support_by_pp; # +# List of foreground colors. This list is not complete, it just +# contains the colors needed by videosite. +# +# The % are doubled because these are used in sprintf. +# +my %foreground_colors = ( + 'magenta' => '%%m', + '*magenta' => '%%M', + '*yellow' => '%%Y', + '*green' => '%%G', + '*red' => '%%R', + 'default' => '%%n', +); + +# # Initialize the config subsystem. Called by the core. # # Due to historic reasons this has to deal with a number of possible config sources: @@ -162,12 +177,15 @@ sub config_del { # # Return a color code. Called by the core # +# Does not handle background colors yet. +# sub colorpair { my ($fg, $bg) = @_; - Irssi::print(sprintf("Asked to convert (%s,%s) into irssi color codes", $fg, $bg)); + $fg = exists($foreground_colors{$fg})?$foreground_colors{$fg}:''; + $bg = ''; - return ''; + return $fg . $bg; } # -- 1.8.3.1