Уведомление OSD для Irssi

Уведомление OSD для Irssi

Я хочу получать уведомление каждый раз, когда получаю сообщение /query или меня выделяют на канале. Это уведомление должно быть в виде всплывающего OSD (экранного дисплея).

Если OSD невозможен для Linux, я ограничусь размещением окна терминала, содержащего экземпляр, 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скрипт на этих локальных машинах, чтобы, где бы я ни находился, я получал уведомления, если меня пингуют...

Вы можете запустить inotifyскрипт из служебного файла, если используете его, systemdили любым другим способом, который вам нужен для запуска при входе в систему.

Если вы не хотите использовать notify-send,дзенотличный выбор для ненавязчивого приложения для уведомлений.

Связанный контент