Irssi의 OSD 알림

Irssi의 OSD 알림

채널에서 /query 메시지가 수신되거나 강조 표시될 때마다 알림을 받고 싶습니다. 이 알림은 버블 OSD(On Screen Display) 형식이어야 합니다.

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해당 로컬 컴퓨터에서 스크립트를 실행하면 로그인 위치에 상관없이 핑이 울리면 알림을 받게 됩니다.

로그인 시 이를 사용하거나 시작하려면 inotify서비스 파일에서 스크립트를 실행할 수 있습니다.systemd

notify-send사용 하고 싶지 않다면눈에 띄지 않는 알림 앱을 위한 탁월한 선택입니다.

관련 정보