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