aboutsummaryrefslogtreecommitdiffstats
path: root/colour-popup/colour_popup.pl
diff options
context:
space:
mode:
Diffstat (limited to 'colour-popup/colour_popup.pl')
-rw-r--r--colour-popup/colour_popup.pl60
1 files changed, 60 insertions, 0 deletions
diff --git a/colour-popup/colour_popup.pl b/colour-popup/colour_popup.pl
new file mode 100644
index 0000000..b12c4f6
--- /dev/null
+++ b/colour-popup/colour_popup.pl
@@ -0,0 +1,60 @@
+#!/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 => "9.26.2008",
+);
+
+
+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, "{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');
+
+