/usr/share/irssi/scripts/query-connection-notifier.pl is in irssi-scripts 20160301.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | use Irssi;
use Irssi::UI;
use Irssi::TextUI;
use vars qw($VERSION %IRSSI);
$VERSION = '0.1';
%IRSSI = (
author => 'meh',
contact => 'meh@schizofreni.co',
name => 'Query connection notification',
description => 'Notify in the query window when the nick connects',
license => 'WTFPL',
);
Irssi::theme_register([
'connect', '{channick_hilight $0} {chanhost_hilight $1} has connected'
]);
my %quit;
Irssi::signal_add 'message join' => sub {
my ($server, $channel, $nick, $address) = @_;
if ($quit{"$server->{tag}:$nick"}) {
delete $quit{"$server->{tag}:$nick"};
foreach $query (Irssi::queries()) {
if ($query->{server_tag} eq $server->{tag} && $query->{name} eq $nick) {
$query->printformat(MSGLEVEL_JOINS, 'connect', $nick, $address);
break;
}
}
}
};
Irssi::signal_add 'message quit' => sub {
my ($server, $nick, $address, $reason) = @_;
$quit{"$server->{tag}:$nick"} = 1;
};
Irssi::signal_add 'query created' => sub {
my ($query, $automatic) = @_;
foreach $channel ($query->{server}->channels) {
foreach $nick ($channel->nicks) {
if ($nick eq $query->{name}) {
return;
}
}
}
$quit{"$query->{server}->{tag}:$query->{name}"} = 1;
};
Irssi::signal_add 'query destroyed' => sub {
my ($query) = @_;
delete $quit{"$query->{server}->{tag}:$query->{name}"};
};
Irssi::signal_add 'message private' => sub {
my ($server, $msg, $nick, $address) = @_;
delete $quit{"$server->{tag}:$nick"};
};
|