]> git.99rst.org Git - irssi-scripts.irssi.org.git/commitdiff
Simplify act.pl to make it cleaner
authorDavid Leadbeater <redacted>
Thu, 16 Apr 2015 15:01:59 +0000 (16:01 +0100)
committerDavid Leadbeater <redacted>
Thu, 16 Apr 2015 15:01:59 +0000 (16:01 +0100)
scripts/act.pl

index b14435fecb611941489d1cc2d93bd0754229cf5c..f7a752812cf6a8dc8b32dea75a29bf33323f4367 100644 (file)
@@ -8,7 +8,7 @@ use strict;
 use vars qw($VERSION %IRSSI);
 
 use Irssi 20020120;
-$VERSION = "0.13";
+$VERSION = "0.14";
 %IRSSI = (
     authors    => "c0ffee",
     contact    => "c0ffee\@penguin-breeder.org",
@@ -16,11 +16,10 @@ $VERSION = "0.13";
     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",
+    changed    => "Thu Apr 16 15:55:05 BST 2015",
 );
 #</scriptinfo>
 
-
 #
 # /ACT [PUBLIC|ALL]
 #
@@ -30,46 +29,16 @@ $VERSION = "0.13";
 # /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) = @_;
-
-    my $level;
-
-    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", $_);
+Irssi::command_bind('act', sub { _act(1); });
+Irssi::command_bind('act public', sub { _act(2); });
+Irssi::command_bind('act all', sub { _act(3); });
 
-      }
-
-    }
-}
-
-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;
-      }
+sub _act {
+  my($level) = @_;
+  for (Irssi::windows()) {
+    if ($_->{data_level} <= $level) {
+      Irssi::signal_emit("window dehilight", $_);
     }
-    Irssi::signal_stop();
+  }
 }
-
-
-Irssi::command_bind("act", "cmd_act");
-Irssi::signal_add_first('complete word', \&sig_complete);
git clone https://git.99rst.org/PROJECT