Irssi 的 OSD 通知

Irssi 的 OSD 通知

我希望每次收到 /query 消息或在频道中突出显示时收到通知。此通知应采用气泡 OSD(屏幕显示)的形式。

如果 Linux 无法实现 OSD,我将满足于将包含irssi实例的终端窗口置于窗口堆栈的顶部,并在状态栏中闪烁窗口的名称。

答案1

这很容易使用以下命令进行设置fnotify脚本。将其设置为自动加载然后自定义它以打印到您选择的文件:

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);
}

然后,使用inotifywait监视该目录或文件,并在写入新行时触发消息:

#!/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

irssi在无头服务器上运行,因此我将监视的目录同步到我使用的所有其他计算机Pulse(以前称为 Syncthing),然后inotify在这些本地计算机上运行该脚本,这样,无论我在何处登录,如果我被 ping 到,我都会收到通知...

如果您使用或希望在登录时启动它,则可以inotify从服务文件运行该脚本。systemd

如果你不想使用notify-send禅宗是不引人注目的通知应用程序的绝佳选择。

相关内容