From f861cada73f0e9ac122151f466770bc5a7426502 Mon Sep 17 00:00:00 2001 From: Tom Feist Date: Thu, 28 Apr 2011 21:04:43 +0100 Subject: simple-act/simple_activity: first attempt at making a replacement statusbar item for the 'act' builtin statusbar item. Seems to be a bit broken atm though (and debug prints segfault irssi. Ho Hum). --- simple-act/simple_activity.pl | 105 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 simple-act/simple_activity.pl diff --git a/simple-act/simple_activity.pl b/simple-act/simple_activity.pl new file mode 100644 index 0000000..2223631 --- /dev/null +++ b/simple-act/simple_activity.pl @@ -0,0 +1,105 @@ +=pod + +=head1 NAME + +template.pl + +=head1 DESCRIPTION + +A minimalist template useful for basing actual scripts on. + +=head1 INSTALLATION + +Copy into your F<~/.irssi/scripts/> directory and load with +C>. + +=head1 USAGE + +None, since it doesn't actually do anything. + +=head1 AUTHORS + +Copyright E 2011 Tom Feist Cshabble+irssi@metavore.orgE> + +=head1 LICENCE + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +=head1 BUGS + +=head1 TODO + +Use this template to make an actual script. + +=cut + +use strict; +use warnings; + +use Irssi; +use Irssi::Irc; +use Irssi::TextUI; + +use Data::Dumper; + +our $VERSION = '0.1'; +our %IRSSI = ( + authors => 'shabble', + contact => 'shabble+irssi@metavore.org', + name => '', + description => '', + license => 'MIT', + updated => '$DATE' + ); + + +my $activity = {}; + + +Irssi::statusbar_item_register('act_simple', 0, 'act_simple_cb'); +Irssi::signal_add('window hilight', \&update_hilight); +Irssi::signal_add('window dehilight', \&update_hilight); +Irssi::signal_add('window activity', \&update_activity); + +# wtf to do about these? +Irssi::signal_add('window item hilight', \&update_hilight); +Irssi::signal_add('window item activity', \&update_activity); + +sub update_hilight { + my ($win) = @_; + if ($win->{data_level} >= Irssi::MESSAGELEVEL_HILIGHT) { + $activity->{$win->{refnum}} = 'h'; + } elsif ($win->{data_level} >= Irssi::MESSAGELEVEL_PUBLIC { + $activity->{$win->{$refnum}} = 'p'; + } else { + delete $activity->{$win->{$refnum}}; + } +} + +sub update_activity { + my ($win, $old_level) = @_; +} + + +sub act_simple_cb { + my ($sb_item, $get_size_only) = @_; + + return $sb_item->default_handler($get_size_only, $value, '', 0); + +} -- cgit v1.2.3