summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rw-r--r--scripts/fnotify.pl90
1 files changed, 50 insertions, 40 deletions
diff --git a/scripts/fnotify.pl b/scripts/fnotify.pl
index 983a262..58b2957 100644
--- a/scripts/fnotify.pl
+++ b/scripts/fnotify.pl
@@ -1,68 +1,78 @@
-# todo: grap topic changes
-
use strict;
use vars qw($VERSION %IRSSI);
use Irssi;
-$VERSION = '0.0.3';
+$VERSION = '0.0.4';
%IRSSI = (
- authors => 'Thorsten Leemhuis',
- contact => 'fedora@leemhuis.info',
- name => 'fnotify',
- description => 'Write a notification to a file that shows who is talking to you in which channel.',
- url => 'http://www.leemhuis.info/files/fnotify/',
- license => 'GNU General Public License',
- changed => '$Date: 2007-01-13 12:00:00 +0100 (Sat, 13 Jan 2007) $'
+ name => 'fnotify',
+ authors => 'Thorsten Leemhuis, James Shubin',
+ description => 'Write notifications to a file in a consistent format.',
+ license => 'GNU General Public License',
);
-#--------------------------------------------------------------------
-# In parts based on knotify.pl 0.1.1 by Hugo Haas
+#
+# README
+#
+# To use:
+# $ cp fnotify.pl ~/.irssi/scripts/fnotify.pl
+# irssi> /load perl
+# irssi> /script load fnotify
+#
+
+#
+# AUTHORS
+#
+# Consistent output formatting by James Shubin:
+# https://ttboj.wordpress.com/
+#
+# Modified from the Thorsten Leemhuis <fedora@leemhuis.info> version:
+# http://www.leemhuis.info/files/fnotify/fnotify
+#
+# In parts based on knotify.pl 0.1.1 by Hugo Haas:
# http://larve.net/people/hugo/2005/01/knotify.pl
-# which is based on osd.pl 0.3.3 by Jeroen Coekaerts, Koenraad Heijlen
+#
+# Which is based on osd.pl 0.3.3 by Jeroen Coekaerts, Koenraad Heijlen:
# http://www.irssi.org/scripts/scripts/osd.pl
#
-# Other parts based on notify.pl from Luke Macken
+# Other parts based on notify.pl from Luke Macken:
# http://fedora.feedjack.org/user/918/
#
-#--------------------------------------------------------------------
-
-#--------------------------------------------------------------------
-# Private message parsing
-#--------------------------------------------------------------------
+#
+# catch private messages
+#
sub priv_msg {
- my ($server,$msg,$nick,$address,$target) = @_;
- filewrite($nick." " .$msg );
+ my ($server, $msg, $nick, $address, $target) = @_;
+ my $network = $server->{tag};
+ filewrite('' . $network . ' ' . $nick . ' ' . $msg);
}
-#--------------------------------------------------------------------
-# Printing hilight's
-#--------------------------------------------------------------------
-
+#
+# catch 'hilight's
+#
sub hilight {
- my ($dest, $text, $stripped) = @_;
- if ($dest->{level} & MSGLEVEL_HILIGHT) {
- filewrite($dest->{target}. " " .$stripped );
- }
+ my ($dest, $text, $stripped) = @_;
+ if ($dest->{level} & MSGLEVEL_HILIGHT) {
+ my $server = $dest->{server};
+ my $network = $server->{tag};
+ filewrite($network . ' ' . $dest->{target} . ' ' . $stripped);
+ }
}
-#--------------------------------------------------------------------
-# The actual printing
-#--------------------------------------------------------------------
-
+#
+# write to file
+#
sub filewrite {
my ($text) = @_;
# FIXME: there is probably a better way to get the irssi-dir...
- open(FILE,">>$ENV{HOME}/.irssi/fnotify");
+ open(FILE, ">>$ENV{HOME}/.irssi/fnotify");
print FILE $text . "\n";
- close (FILE);
+ close(FILE);
}
-#--------------------------------------------------------------------
-# Irssi::signal_add_last / Irssi::command_bind
-#--------------------------------------------------------------------
-
+#
+# irssi signals
+#
Irssi::signal_add_last("message private", "priv_msg");
Irssi::signal_add_last("print text", "hilight");
-#- end