OSD-Benachrichtigung für Irssi

OSD-Benachrichtigung für Irssi

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 irssiInstanz 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 benutzeinotifywaitum 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 irssieinen 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 inotifySkript auf diesen lokalen Computern aus, sodass ich, egal, wo ich angemeldet bin, benachrichtigt werde, wenn ich angepingt werde ...

inotifySie 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.

verwandte Informationen