
Ich möchte jedes Mal eine Benachrichtigung erhalten, wenn ich eine /Query-Nachricht erhalte oder in einem Kanal hervorgehoben werde. Diese Benachrichtigung sollte in Form eines Bubble-OSD (On Screen Display) erfolgen.
Wenn OSD für Linux nicht möglich ist, begnüge ich mich damit, das Terminalfenster mit der irssi
Instanz an den Anfang des Fensterstapels zu bringen und den Fensternamen in der Statusleiste flackern zu lassen.
Antwort1
Die Einrichtung ist ganz einfach mit demfnotify-Skript. Stellen Sie es ein aufautomatisches Ladenund passen Sie es dann so an, dass es in eine Datei Ihrer Wahl gedruckt wird:
sub filewrite {
my ($text) = @_;
# FIXME: there is probably a better way to get the irssi-dir...
open(FILE,">>$ENV{HOME}/path/to/your/fnotified");
print FILE $text . "\n";
close (FILE);
}
Dann benutzeinotifywait
um dieses Verzeichnis oder diese Datei zu überwachen und eine Meldung auszulösen, wenn neue Zeilen hineingeschrieben werden:
#!/usr/bin/env bash
# script to push IRC highlight notifications
dir="$HOME/path/to/your/"
while inotifywait -qqre attrib "$dir" >/dev/null 2>&1; do
echo "IRC:" "You have been pinged..." | notify-send IRC "You have been pinged…" \
-i /usr/share/icons/gnome/48x48/status/dialog-warning.png
done
Ich verwende irssi
einen Headless-Server, daher synchronisiere ich das überwachte Verzeichnis mit allen anderen Maschinen, die ich verwende.Pulse (früher Syncthing), und führen Sie dann das inotify
Skript auf diesen lokalen Computern aus, sodass ich, egal, wo ich angemeldet bin, benachrichtigt werde, wenn ich angepingt werde ...
inotify
Sie können das Skript aus einer Servicedatei ausführen, wenn Sie diese verwenden systemd
, oder es bei der Anmeldung starten möchten.
Wenn Sie nicht verwenden möchten notify-send
,dzenist eine ausgezeichnete Wahl für eine unaufdringliche Benachrichtigungsanwendung.