IrssiのOSD通知

IrssiのOSD通知

チャンネルが/queryメッセージを受信または強調表示するたびに通知を受け取りたいです。この通知はバブルオンスクリーンディスプレイ(OSD)形式でなければなりません。

irssiLinuxがOSDを実装していない場合は、インスタンスを含むターミナルウィンドウをウィンドウスタックの上部に配置し、ステータスバーにウィンドウ名を点滅させることに満足しています。

答え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ヘッドレスサーバー上で動作しているので、監視されているディレクトリを私が使用している他のすべてのコンピュータに同期します。パルス(以前の同期)その後、inotifyそのローカルコンピュータでスクリプトを実行すると、ログイン位置に関係なくpingが鳴ると通知されます。

ログイン時に使用または起動するには、inotifyサービスファイルからスクリプトを実行できます。systemd

notify-send使いたくない場合ライン目立たない通知アプリのための優れた選択です。

関連情報