Permalink
Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
45 lines (37 sloc) 1.3 KB
# awaybar.pl -- initially built for Irssi 0.8.9
# thanks to mood.pl for practically allowing me
# to copy the approach..
use strict;
use Irssi;
use Irssi::TextUI;
use vars qw($VERSION %IRSSI);
$VERSION = "0.1.1";
%IRSSI = (
authors => 'Simon Shine',
contact => 'http://shine.eu.org/',
name => 'awaybar',
description => 'Provides a menubar item with away message',
sbitems => 'awaybar',
license => 'Public domain',
);
Irssi::statusbar_item_register('awaybar', 0, 'awaybar');
Irssi::signal_add('away mode changed', 'awaybar_redraw');
sub awaybar {
my ($item, $get_size_only) = @_;
my $away_reason = !Irssi::active_server() ? undef : Irssi::active_server()->{away_reason};
if (defined $away_reason && length $away_reason) {
my %r = ('\{' => '(',
'\}' => ')',
'%' => '%%',);
$away_reason =~ s/$_/$r{$_}/g for (keys %r);
#my $format = $theme->format_expand("{sb_awaybar $away_reason}");
my $format = "{sb Away: $away_reason}";
$item->{min_size} = $item->{max_size} = length($away_reason);
$item->default_handler($get_size_only, $format, 0, 1);
} else {
$item->{min_size} = $item->{max_size} = 0;
}
}
sub awaybar_redraw {
Irssi::statusbar_items_redraw('awaybar');
}