use strict; use warnings; use utf8; package BarnOwl::Module::Betastyle; use BarnOwl::Style; sub description {"bpchen's style";} BarnOwl::create_style("beta", "BarnOwl::Module::Betastyle"); ################################################################################ sub chat_header { my $self = shift; my $m = shift; my $header; if ($m->is_personal) { my $personal_context = $m->personal_context; $personal_context = ' [' . $self->humanize($personal_context, 1) . ']' if $personal_context; if ($m->direction eq 'out') { $header = ucfirst $m->type . $personal_context . ' sent to ' . $m->pretty_recipient; } else { $header = ucfirst $m->type . $personal_context . ' from '; if(defined($m->auth) && ($m->auth ne "YES")) { $header .= "UNAUTH: "; } $header .= maybe($m->pretty_sender); } } else { $header = $self->humanize($m->context, 1); if(defined $m->subcontext) { $header .= ' » ' . $self->humanize($m->subcontext, 1); } $header .= ' » '; if(defined($m->auth) && ($m->auth ne "YES")) { $header .= "UNAUTH: "; } $header .= '@b{' . maybe($m->pretty_sender) . '}'; if (defined($m->realm) && $m->realm ne BarnOwl::zephyr_getrealm()) { $header .= ' {' . $self->humanize($m->realm, 1) . '}'; } if ($m->host) { my $host = lc($m->host); # $host =~ s/([a-z]{1,3}+)[a-z]{2,}/\1…/g; $host =~ s/\.mit\.edu$/./; $host =~ s/\.zulipchat\.net$/.Z/; $host =~ s/(\w)\w+/\1/g; $host =~ s/-//g; $header .= ' ' . $host; } } if($m->opcode) { $header .= " [" . $self->humanize($m->opcode, 1) . "]"; } $header .= " " . $self->format_time($m); $header .= $self->format_sender($m); return $header; } 1;