# Automatically colors personals by hashing the username. Inspired by geofft's # .bashrc. Needs a lot of tweaking to make perfect... # # To use: # :perl do '/mit/snippets/barnowl/personal-colors.pl' # :view -s colors package BarnOwl::Style::Colors; our @ISA=qw(BarnOwl::Style::Default); use Digest::MD5; sub description {"Colors for personals";} sub format_chat { my $self = shift; my $m = shift; my $body = $self->indent_body($m); if ($m->is_personal) { my @colors = qw{red green blue yellow magenta cyan}; my $hash = ord Digest::MD5::md5(($m->direction eq "out") ? $m->pretty_recipient : $m->pretty_sender); $body = '@[@color(' . $colors[$hash % scalar @colors] . ")$body]"; } return $self->chat_header($m) . "\n". $body; } BarnOwl::create_style("colors", "BarnOwl::Style::Colors"); 1;