diff options
author | Tom Feist <shabble@metavore.org> | 2011-04-28 20:04:43 +0000 |
---|---|---|
committer | Tom Feist <shabble@metavore.org> | 2011-04-28 20:04:43 +0000 |
commit | f861cada73f0e9ac122151f466770bc5a7426502 (patch) | |
tree | 49fb6797beb8852b0d6e45fd95682bd32ff7299b | |
parent | scriptassist/scriptassist: fixed help() (diff) | |
download | irssi-scripts-f861cada73f0e9ac122151f466770bc5a7426502.tar.gz irssi-scripts-f861cada73f0e9ac122151f466770bc5a7426502.zip |
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).
-rw-r--r-- | simple-act/simple_activity.pl | 105 |
1 files changed, 105 insertions, 0 deletions
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</SCRIPT LOAD F<filename>>. + +=head1 USAGE + +None, since it doesn't actually do anything. + +=head1 AUTHORS + +Copyright E<copy> 2011 Tom Feist C<E<lt>shabble+irssi@metavore.orgE<gt>> + +=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); + +} |