diff options
Diffstat (limited to 'trivia')
-rw-r--r-- | trivia/trivia.pl | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/trivia/trivia.pl b/trivia/trivia.pl new file mode 100644 index 0000000..6cc0fea --- /dev/null +++ b/trivia/trivia.pl @@ -0,0 +1,41 @@ +use Irssi; +use strict; + +our $VERSION = "0.1"; +our %IRSSI = ( + authors => 'terminaldweller', + contact => 'https://terminaldweller.com', + name => 'trivia', + description => 'lets you add trivial info for a window as a expando', + license => 'GPL3 or newer', + url => 'https://github.com/irssi/scripts.irssi.org', +); + +my %trivia_list = (); +my $trivia = ""; + +sub window_changed_handler { + my $window = Irssi::active_win(); + my $server = Irssi::active_server(); + my $current_window_item_string = $server->{tag}."/".$window->{active}->{name}; + if (exists $trivia_list{$current_window_item_string}) { + $trivia = $trivia_list{$current_window_item_string}; + } else { + $trivia = "IRC"; + } +} + +Irssi::expando_create('trivia', sub { + return $trivia; +}, {}); + +sub setup_changed { + %trivia_list = map { my @temp = split(',', $_); $temp[0] => $temp[1] } split(' ', Irssi::settings_get_str('trivia_list')); +} + +Irssi::settings_add_str('misc','trivia_list',''); +Irssi::signal_add('window changed' => 'window_changed_handler'); +Irssi::signal_add('setup changed' => 'setup_changed'); + +%trivia_list = map { my @temp = split(',', $_); $temp[0] => $temp[1] } split(' ', Irssi::settings_get_str('trivia_list')); +Irssi::print(%trivia_list); |