Triggered Irssi event notification via libnotify
Man nehme das Triggerskript von Wouter Coekaerts, kopiert es in ~/.irssi/scripts und lädt es mittels /script load trigger.pl.
Jetzt muss noch ein Trigger angelegt und falls noch nicht geschehen libnotify (wir brauchen das Kommando notify-send) installiert werden. Um den Trigger anzulegen, einfach folgendes Kommando in Irssi ausführen:
/trigger add -pattern Inte -publics -channels "freenode/#oqlt" -command "exec notify-send --urgency=normal --expire-time=7000 --category=im.received --icon=keyboard '$N in $C' '$M'"
Nun werden alle Nachrichten aus dem Channel #oqlt auf Freenode, in denen Inte vorkommt, als Desktopbenachrichtigung angezeigt. Mit der Option channels können die zu beobachtenden Kanäle und mit den IRC event types die zu triggernden Nachrichten eingegrenzt werden.
Wenn der Trigger zufriedenstellend konfiguriert ist, sollte man die Einstellungen speichern ...
/trigger save
... und das Skript automatisch beim starten von Irssi laden lassen:
echo "script load trigger.pl" > ~/.irssi/startup
Dokumentation zu den Benachrichtigungen kann man in der Desktop Notifications Specification finden.
- Die von mir benutzten Variablen sind:
- $C: Channel name
- $N: Nickname of the person who triggered this command
- $M: The complete message
- mehr
Leider habe ich (noch) nicht herausgefunden, wie ich auf highlighting filtern kann. Der Umweg über -pattern Inte ist eher unbefriedigend. Ich habe alle event types durchprobiert.


Comments
Gibt es eigentlich eine
Gibt es eigentlich eine Möglichkeit das Aussehen von notify-send zu verändern? Hab da schon ewig mit Google gesucht, aber nie was brauchbares gefunden.
Eine interessante Geschichte.
Eine interessante Geschichte. Leider bin ich in Perl und irssi Scripting nicht gerade bewandert.
Wäre es mit dem trigger script auch möglich ein bestimmte Wortfolge oder alles was ein User in Channel X sagt,
in Channel Y zu wiederholen?
Klappt leider nicht...
Ich hab jetzt mal ein bisschen rumprobiert mit dem trigger.pl. Leider kriege ich keine Ausgabe in #channel-echo hin:
/TRIGGER add -debug -publics -channels "netzwerk1/#channel" -masks *!USER@* -nocase -regexp . -command "/msg netzwerk2/#channel-echo $\M"