#!/usr/bin/perl # mirc_colour_popup irssi module # # Shows a mIRC-style colour popup when you hit ^C. # # usage: # # after loading the script, add the statusbar item somewhere convenient: # /statusbar window add -after barstart colours # use strict; use Irssi; use Irssi::TextUI; use vars qw($VERSION %IRSSI); $VERSION = "1.0"; %IRSSI = ( authors => "Michael Kowalchuk", contact => "michael.kowalchuk\@gmail.com", name => "mirc_colour_popup", description => "Shows a mIRC-style colour popup when you hit ^C.", license => "Public Domain", changed => "31/7/2010", ); my $vis; my @colours = ('W','k','b','g','R','r','m','y','Y','G','c','C','B','P','K','w'); sub colours_sb { my ($item, $get_size_only) = @_; my $txt; if( $vis ) { $txt = join " ", map { "\%$colours[$_]$_" } 0 .. 15; } $item->default_handler($get_size_only, "\%0{sb $txt}", undef, 1); } Irssi::signal_add_last 'gui key pressed' => sub { my ($key) = @_; if( not $vis and $key eq 3 ) { $vis = 1; Irssi::statusbar_items_redraw('colours'); } elsif( $vis and $key ne 3 ) { $vis = undef; Irssi::statusbar_items_redraw('colours'); } }; Irssi::statusbar_item_register('colours', undef, 'colours_sb');