From 120eccbfa839a0723f6ffeb9b80742bc960a3d41 Mon Sep 17 00:00:00 2001 From: Manuel Traut Date: Wed, 7 Aug 2019 22:47:19 +0200 Subject: initial version from ford Signed-off-by: Manuel Traut --- .irssi/scripts/act.pl | 72 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 .irssi/scripts/act.pl (limited to '.irssi/scripts/act.pl') diff --git a/.irssi/scripts/act.pl b/.irssi/scripts/act.pl new file mode 100644 index 0000000..0b20de8 --- /dev/null +++ b/.irssi/scripts/act.pl @@ -0,0 +1,72 @@ +#!/usr/bin/perl -w +# resets window activity status +# by c0ffee +# - http://www.penguin-breeder.org/irssi/ + +# +use vars qw($VERSION %IRSSI); + +use Irssi 20020120; +$VERSION = "0.13"; +%IRSSI = ( + authors => "c0ffee", + contact => "c0ffee\@penguin-breeder.org", + name => "Reset window activity status", + description => "Reset window activity status. defines command /act", + license => "Public Domain", + url => "http://www.penguin-breeder.org/irssi/", + changed => "Wed Jun 23 08:34:53 CEST 2004", +); +# + + +# +# /ACT [PUBLIC|ALL] +# +# /ACT without parameters marks windows as non-active where no +# public talk occured. +# +# /ACT PUBLIC also removes those where no nick hilight was triggered +# +# /ACT ALL sets all windows as non-active +sub cmd_act { + my ($data, $server, $channel) = @_; + + if ($data eq "") { + $level = 1; + } elsif ($data =~ /^public$/i) { + $level = 2; + } elsif ($data =~ /^all$/i) { + $level = 3; + } else { + Irssi::signal_emit("error command", -3, $data); + return; + } + + foreach (Irssi::windows()) { + + if ($_->{data_level} <= $level) { + + Irssi::signal_emit("window dehilight", $_); + + } + + } +} + +my @arguments = ('public', 'all'); +sub sig_complete ($$$$$) { + my ($list, $window, $word, $linestart, $want_space) = @_; + return unless $linestart =~ /^.act/; + foreach my $arg (@arguments) { + if ($arg =~ /^$word/i) { + $$want_space = 0; + push @$list, $arg; + } + } + Irssi::signal_stop(); +} + + +Irssi::command_bind("act", "cmd_act"); +Irssi::signal_add_first('complete word', \&sig_complete); -- cgit v1.2.3